{
  "abi": [],
  "bytecode": {
    "object": "0x",
    "sourceMap": "",
    "linkReferences": {}
  },
  "deployedBytecode": {
    "object": "0x",
    "sourceMap": "",
    "linkReferences": {}
  },
  "methodIdentifiers": {},
  "rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheatsSafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}",
  "metadata": {
    "compiler": {
      "version": "0.8.22+commit.4fc1097e"
    },
    "language": "Solidity",
    "output": {
      "abi": [],
      "devdoc": {
        "kind": "dev",
        "methods": {},
        "version": 1
      },
      "userdoc": {
        "kind": "user",
        "methods": {},
        "version": 1
      }
    },
    "settings": {
      "remappings": [
        "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
        "@uniswap/v3-core/=lib_uniswap/v3-core/",
        "@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
        "ds-test/=lib/forge-std/lib/ds-test/src/",
        "forge-std/=lib/forge-std/src/",
        "openzeppelin-contracts/=lib/openzeppelin-contracts/",
        "v3-core/=lib_uniswap/v3-core/",
        "v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
      ],
      "optimizer": {
        "runs": 999999999,
        "details": {
          "peephole": true,
          "inliner": true,
          "jumpdestRemover": true,
          "orderLiterals": true,
          "deduplicate": true,
          "cse": true,
          "constantOptimizer": true,
          "yul": true,
          "yulDetails": {
            "stackAllocation": true,
            "optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
          }
        }
      },
      "metadata": {
        "bytecodeHash": "ipfs"
      },
      "compilationTarget": {
        "lib/forge-std/src/StdCheats.sol": "StdCheatsSafe"
      },
      "libraries": {}
    },
    "sources": {
      "lib/forge-std/src/StdCheats.sol": {
        "keccak256": "0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5",
        "urls": [
          "bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a",
          "dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"
        ],
        "license": "MIT"
      },
      "lib/forge-std/src/StdStorage.sol": {
        "keccak256": "0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d",
        "urls": [
          "bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26",
          "dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"
        ],
        "license": "MIT"
      },
      "lib/forge-std/src/Vm.sol": {
        "keccak256": "0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5",
        "urls": [
          "bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c",
          "dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"
        ],
        "license": "MIT"
      }
    },
    "version": 1
  },
  "ast": {
    "absolutePath": "lib/forge-std/src/StdCheats.sol",
    "id": 7335,
    "exportedSymbols": {
      "StdCheats": [
        7334
      ],
      "StdCheatsSafe": [
        6570
      ],
      "StdStorage": [
        8374
      ],
      "Vm": [
        13464
      ],
      "stdStorage": [
        9827
      ]
    },
    "nodeType": "SourceUnit",
    "src": "32:30781:5",
    "nodes": [
      {
        "id": 4518,
        "nodeType": "PragmaDirective",
        "src": "32:31:5",
        "nodes": [],
        "literals": [
          "solidity",
          ">=",
          "0.6",
          ".2",
          "<",
          "0.9",
          ".0"
        ]
      },
      {
        "id": 4519,
        "nodeType": "PragmaDirective",
        "src": "65:33:5",
        "nodes": [],
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ]
      },
      {
        "id": 4522,
        "nodeType": "ImportDirective",
        "src": "100:56:5",
        "nodes": [],
        "absolutePath": "lib/forge-std/src/StdStorage.sol",
        "file": "./StdStorage.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 7335,
        "sourceUnit": 9828,
        "symbolAliases": [
          {
            "foreign": {
              "id": 4520,
              "name": "StdStorage",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 8374,
              "src": "108:10:5",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          },
          {
            "foreign": {
              "id": 4521,
              "name": "stdStorage",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 9827,
              "src": "120:10:5",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 4524,
        "nodeType": "ImportDirective",
        "src": "157:28:5",
        "nodes": [],
        "absolutePath": "lib/forge-std/src/Vm.sol",
        "file": "./Vm.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 7335,
        "sourceUnit": 13465,
        "symbolAliases": [
          {
            "foreign": {
              "id": 4523,
              "name": "Vm",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 13464,
              "src": "165:2:5",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 6570,
        "nodeType": "ContractDefinition",
        "src": "187:23841:5",
        "nodes": [
          {
            "id": 4541,
            "nodeType": "VariableDeclaration",
            "src": "225:84:5",
            "nodes": [],
            "constant": true,
            "mutability": "constant",
            "name": "vm",
            "nameLocation": "245:2:5",
            "scope": 6570,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_Vm_$13464",
              "typeString": "contract Vm"
            },
            "typeName": {
              "id": 4526,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 4525,
                "name": "Vm",
                "nameLocations": [
                  "225:2:5"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 13464,
                "src": "225:2:5"
              },
              "referencedDeclaration": 13464,
              "src": "225:2:5",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Vm_$13464",
                "typeString": "contract Vm"
              }
            },
            "value": {
              "arguments": [
                {
                  "arguments": [
                    {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "hexValue": "6865766d20636865617420636f6465",
                                  "id": 4535,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "287:17:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d",
                                    "typeString": "literal_string \"hevm cheat code\""
                                  },
                                  "value": "hevm cheat code"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d",
                                    "typeString": "literal_string \"hevm cheat code\""
                                  }
                                ],
                                "id": 4534,
                                "name": "keccak256",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -8,
                                "src": "277:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                  "typeString": "function (bytes memory) pure returns (bytes32)"
                                }
                              },
                              "id": 4536,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "277:28:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 4533,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "269:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint256_$",
                              "typeString": "type(uint256)"
                            },
                            "typeName": {
                              "id": 4532,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "269:7:5",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4537,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "269:37:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 4531,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "261:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint160_$",
                          "typeString": "type(uint160)"
                        },
                        "typeName": {
                          "id": 4530,
                          "name": "uint160",
                          "nodeType": "ElementaryTypeName",
                          "src": "261:7:5",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 4538,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "261:46:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint160",
                        "typeString": "uint160"
                      }
                    }
                  ],
                  "expression": {
                    "argumentTypes": [
                      {
                        "typeIdentifier": "t_uint160",
                        "typeString": "uint160"
                      }
                    ],
                    "id": 4529,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "nodeType": "ElementaryTypeNameExpression",
                    "src": "253:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_type$_t_address_$",
                      "typeString": "type(address)"
                    },
                    "typeName": {
                      "id": 4528,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "253:7:5",
                      "typeDescriptions": {}
                    }
                  },
                  "id": 4539,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "typeConversion",
                  "lValueRequested": false,
                  "nameLocations": [],
                  "names": [],
                  "nodeType": "FunctionCall",
                  "src": "253:55:5",
                  "tryCall": false,
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                ],
                "id": 4527,
                "name": "Vm",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 13464,
                "src": "250:2:5",
                "typeDescriptions": {
                  "typeIdentifier": "t_type$_t_contract$_Vm_$13464_$",
                  "typeString": "type(contract Vm)"
                }
              },
              "id": 4540,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "typeConversion",
              "lValueRequested": false,
              "nameLocations": [],
              "names": [],
              "nodeType": "FunctionCall",
              "src": "250:59:5",
              "tryCall": false,
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Vm_$13464",
                "typeString": "contract Vm"
              }
            },
            "visibility": "private"
          },
          {
            "id": 4544,
            "nodeType": "VariableDeclaration",
            "src": "316:125:5",
            "nodes": [],
            "constant": true,
            "mutability": "constant",
            "name": "UINT256_MAX",
            "nameLocation": "341:11:5",
            "scope": 6570,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4542,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "316:7:5",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "hexValue": "313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335",
              "id": 4543,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "363:78:5",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1",
                "typeString": "int_const 1157...(70 digits omitted)...9935"
              },
              "value": "115792089237316195423570985008687907853269984665640564039457584007913129639935"
            },
            "visibility": "private"
          },
          {
            "id": 4546,
            "nodeType": "VariableDeclaration",
            "src": "448:27:5",
            "nodes": [],
            "constant": false,
            "mutability": "mutable",
            "name": "gasMeteringOff",
            "nameLocation": "461:14:5",
            "scope": 6570,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 4545,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "448:4:5",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "visibility": "private"
          },
          {
            "id": 4563,
            "nodeType": "StructDefinition",
            "src": "720:325:5",
            "nodes": [],
            "canonicalName": "StdCheatsSafe.RawTx1559",
            "members": [
              {
                "constant": false,
                "id": 4549,
                "mutability": "mutable",
                "name": "arguments",
                "nameLocation": "756:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 4563,
                "src": "747:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                  "typeString": "string[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4547,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "747:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "id": 4548,
                  "nodeType": "ArrayTypeName",
                  "src": "747:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                    "typeString": "string[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4551,
                "mutability": "mutable",
                "name": "contractAddress",
                "nameLocation": "783:15:5",
                "nodeType": "VariableDeclaration",
                "scope": 4563,
                "src": "775:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4550,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "775:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4553,
                "mutability": "mutable",
                "name": "contractName",
                "nameLocation": "815:12:5",
                "nodeType": "VariableDeclaration",
                "scope": 4563,
                "src": "808:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4552,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "808:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4555,
                "mutability": "mutable",
                "name": "functionSig",
                "nameLocation": "882:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 4563,
                "src": "875:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4554,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "875:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4557,
                "mutability": "mutable",
                "name": "hash",
                "nameLocation": "911:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4563,
                "src": "903:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 4556,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "903:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4560,
                "mutability": "mutable",
                "name": "txDetail",
                "nameLocation": "973:8:5",
                "nodeType": "VariableDeclaration",
                "scope": 4563,
                "src": "957:24:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_RawTx1559Detail_$4582_storage_ptr",
                  "typeString": "struct StdCheatsSafe.RawTx1559Detail"
                },
                "typeName": {
                  "id": 4559,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 4558,
                    "name": "RawTx1559Detail",
                    "nameLocations": [
                      "957:15:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 4582,
                    "src": "957:15:5"
                  },
                  "referencedDeclaration": 4582,
                  "src": "957:15:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RawTx1559Detail_$4582_storage_ptr",
                    "typeString": "struct StdCheatsSafe.RawTx1559Detail"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4562,
                "mutability": "mutable",
                "name": "opcode",
                "nameLocation": "1032:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 4563,
                "src": "1025:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4561,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "1025:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "RawTx1559",
            "nameLocation": "727:9:5",
            "scope": 6570,
            "visibility": "public"
          },
          {
            "id": 4582,
            "nodeType": "StructDefinition",
            "src": "1051:208:5",
            "nodes": [],
            "canonicalName": "StdCheatsSafe.RawTx1559Detail",
            "members": [
              {
                "constant": false,
                "id": 4567,
                "mutability": "mutable",
                "name": "accessList",
                "nameLocation": "1097:10:5",
                "nodeType": "VariableDeclaration",
                "scope": 4582,
                "src": "1084:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_AccessList_$4674_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.AccessList[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4565,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4564,
                      "name": "AccessList",
                      "nameLocations": [
                        "1084:10:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4674,
                      "src": "1084:10:5"
                    },
                    "referencedDeclaration": 4674,
                    "src": "1084:10:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_AccessList_$4674_storage_ptr",
                      "typeString": "struct StdCheatsSafe.AccessList"
                    }
                  },
                  "id": 4566,
                  "nodeType": "ArrayTypeName",
                  "src": "1084:12:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_AccessList_$4674_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.AccessList[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4569,
                "mutability": "mutable",
                "name": "data",
                "nameLocation": "1123:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4582,
                "src": "1117:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4568,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "1117:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4571,
                "mutability": "mutable",
                "name": "from",
                "nameLocation": "1145:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4582,
                "src": "1137:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4570,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1137:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4573,
                "mutability": "mutable",
                "name": "gas",
                "nameLocation": "1165:3:5",
                "nodeType": "VariableDeclaration",
                "scope": 4582,
                "src": "1159:9:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4572,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "1159:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4575,
                "mutability": "mutable",
                "name": "nonce",
                "nameLocation": "1184:5:5",
                "nodeType": "VariableDeclaration",
                "scope": 4582,
                "src": "1178:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4574,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "1178:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4577,
                "mutability": "mutable",
                "name": "to",
                "nameLocation": "1207:2:5",
                "nodeType": "VariableDeclaration",
                "scope": 4582,
                "src": "1199:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4576,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1199:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4579,
                "mutability": "mutable",
                "name": "txType",
                "nameLocation": "1225:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 4582,
                "src": "1219:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4578,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "1219:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4581,
                "mutability": "mutable",
                "name": "value",
                "nameLocation": "1247:5:5",
                "nodeType": "VariableDeclaration",
                "scope": 4582,
                "src": "1241:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4580,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "1241:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "RawTx1559Detail",
            "nameLocation": "1058:15:5",
            "scope": 6570,
            "visibility": "public"
          },
          {
            "id": 4599,
            "nodeType": "StructDefinition",
            "src": "1265:215:5",
            "nodes": [],
            "canonicalName": "StdCheatsSafe.Tx1559",
            "members": [
              {
                "constant": false,
                "id": 4585,
                "mutability": "mutable",
                "name": "arguments",
                "nameLocation": "1298:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 4599,
                "src": "1289:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                  "typeString": "string[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4583,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1289:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "id": 4584,
                  "nodeType": "ArrayTypeName",
                  "src": "1289:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                    "typeString": "string[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4587,
                "mutability": "mutable",
                "name": "contractAddress",
                "nameLocation": "1325:15:5",
                "nodeType": "VariableDeclaration",
                "scope": 4599,
                "src": "1317:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4586,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1317:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4589,
                "mutability": "mutable",
                "name": "contractName",
                "nameLocation": "1357:12:5",
                "nodeType": "VariableDeclaration",
                "scope": 4599,
                "src": "1350:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4588,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "1350:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4591,
                "mutability": "mutable",
                "name": "functionSig",
                "nameLocation": "1386:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 4599,
                "src": "1379:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4590,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "1379:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4593,
                "mutability": "mutable",
                "name": "hash",
                "nameLocation": "1415:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4599,
                "src": "1407:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 4592,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "1407:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4596,
                "mutability": "mutable",
                "name": "txDetail",
                "nameLocation": "1442:8:5",
                "nodeType": "VariableDeclaration",
                "scope": 4599,
                "src": "1429:21:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Tx1559Detail_$4618_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Tx1559Detail"
                },
                "typeName": {
                  "id": 4595,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 4594,
                    "name": "Tx1559Detail",
                    "nameLocations": [
                      "1429:12:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 4618,
                    "src": "1429:12:5"
                  },
                  "referencedDeclaration": 4618,
                  "src": "1429:12:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Tx1559Detail_$4618_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Tx1559Detail"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4598,
                "mutability": "mutable",
                "name": "opcode",
                "nameLocation": "1467:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 4599,
                "src": "1460:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4597,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "1460:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Tx1559",
            "nameLocation": "1272:6:5",
            "scope": 6570,
            "visibility": "public"
          },
          {
            "id": 4618,
            "nodeType": "StructDefinition",
            "src": "1486:213:5",
            "nodes": [],
            "canonicalName": "StdCheatsSafe.Tx1559Detail",
            "members": [
              {
                "constant": false,
                "id": 4603,
                "mutability": "mutable",
                "name": "accessList",
                "nameLocation": "1529:10:5",
                "nodeType": "VariableDeclaration",
                "scope": 4618,
                "src": "1516:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_AccessList_$4674_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.AccessList[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4601,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4600,
                      "name": "AccessList",
                      "nameLocations": [
                        "1516:10:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4674,
                      "src": "1516:10:5"
                    },
                    "referencedDeclaration": 4674,
                    "src": "1516:10:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_AccessList_$4674_storage_ptr",
                      "typeString": "struct StdCheatsSafe.AccessList"
                    }
                  },
                  "id": 4602,
                  "nodeType": "ArrayTypeName",
                  "src": "1516:12:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_AccessList_$4674_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.AccessList[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4605,
                "mutability": "mutable",
                "name": "data",
                "nameLocation": "1555:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4618,
                "src": "1549:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4604,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "1549:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4607,
                "mutability": "mutable",
                "name": "from",
                "nameLocation": "1577:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4618,
                "src": "1569:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4606,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1569:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4609,
                "mutability": "mutable",
                "name": "gas",
                "nameLocation": "1599:3:5",
                "nodeType": "VariableDeclaration",
                "scope": 4618,
                "src": "1591:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4608,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1591:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4611,
                "mutability": "mutable",
                "name": "nonce",
                "nameLocation": "1620:5:5",
                "nodeType": "VariableDeclaration",
                "scope": 4618,
                "src": "1612:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4610,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1612:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4613,
                "mutability": "mutable",
                "name": "to",
                "nameLocation": "1643:2:5",
                "nodeType": "VariableDeclaration",
                "scope": 4618,
                "src": "1635:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4612,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1635:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4615,
                "mutability": "mutable",
                "name": "txType",
                "nameLocation": "1663:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 4618,
                "src": "1655:14:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4614,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1655:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4617,
                "mutability": "mutable",
                "name": "value",
                "nameLocation": "1687:5:5",
                "nodeType": "VariableDeclaration",
                "scope": 4618,
                "src": "1679:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4616,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1679:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Tx1559Detail",
            "nameLocation": "1493:12:5",
            "scope": 6570,
            "visibility": "public"
          },
          {
            "id": 4635,
            "nodeType": "StructDefinition",
            "src": "1950:221:5",
            "nodes": [],
            "canonicalName": "StdCheatsSafe.TxLegacy",
            "members": [
              {
                "constant": false,
                "id": 4621,
                "mutability": "mutable",
                "name": "arguments",
                "nameLocation": "1985:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 4635,
                "src": "1976:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                  "typeString": "string[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4619,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1976:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "id": 4620,
                  "nodeType": "ArrayTypeName",
                  "src": "1976:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                    "typeString": "string[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4623,
                "mutability": "mutable",
                "name": "contractAddress",
                "nameLocation": "2012:15:5",
                "nodeType": "VariableDeclaration",
                "scope": 4635,
                "src": "2004:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4622,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "2004:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4625,
                "mutability": "mutable",
                "name": "contractName",
                "nameLocation": "2044:12:5",
                "nodeType": "VariableDeclaration",
                "scope": 4635,
                "src": "2037:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4624,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "2037:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4627,
                "mutability": "mutable",
                "name": "functionSig",
                "nameLocation": "2073:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 4635,
                "src": "2066:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4626,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "2066:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4629,
                "mutability": "mutable",
                "name": "hash",
                "nameLocation": "2101:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4635,
                "src": "2094:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4628,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "2094:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4631,
                "mutability": "mutable",
                "name": "opcode",
                "nameLocation": "2122:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 4635,
                "src": "2115:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4630,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "2115:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4634,
                "mutability": "mutable",
                "name": "transaction",
                "nameLocation": "2153:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 4635,
                "src": "2138:26:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_TxDetailLegacy_$4668_storage_ptr",
                  "typeString": "struct StdCheatsSafe.TxDetailLegacy"
                },
                "typeName": {
                  "id": 4633,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 4632,
                    "name": "TxDetailLegacy",
                    "nameLocations": [
                      "2138:14:5"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 4668,
                    "src": "2138:14:5"
                  },
                  "referencedDeclaration": 4668,
                  "src": "2138:14:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_TxDetailLegacy_$4668_storage_ptr",
                    "typeString": "struct StdCheatsSafe.TxDetailLegacy"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "TxLegacy",
            "nameLocation": "1957:8:5",
            "scope": 6570,
            "visibility": "public"
          },
          {
            "id": 4668,
            "nodeType": "StructDefinition",
            "src": "2177:366:5",
            "nodes": [],
            "canonicalName": "StdCheatsSafe.TxDetailLegacy",
            "members": [
              {
                "constant": false,
                "id": 4639,
                "mutability": "mutable",
                "name": "accessList",
                "nameLocation": "2222:10:5",
                "nodeType": "VariableDeclaration",
                "scope": 4668,
                "src": "2209:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_AccessList_$4674_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.AccessList[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4637,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4636,
                      "name": "AccessList",
                      "nameLocations": [
                        "2209:10:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4674,
                      "src": "2209:10:5"
                    },
                    "referencedDeclaration": 4674,
                    "src": "2209:10:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_AccessList_$4674_storage_ptr",
                      "typeString": "struct StdCheatsSafe.AccessList"
                    }
                  },
                  "id": 4638,
                  "nodeType": "ArrayTypeName",
                  "src": "2209:12:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_AccessList_$4674_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.AccessList[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4641,
                "mutability": "mutable",
                "name": "chainId",
                "nameLocation": "2250:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 4668,
                "src": "2242:15:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4640,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2242:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4643,
                "mutability": "mutable",
                "name": "data",
                "nameLocation": "2273:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4668,
                "src": "2267:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4642,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "2267:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4645,
                "mutability": "mutable",
                "name": "from",
                "nameLocation": "2295:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4668,
                "src": "2287:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4644,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "2287:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4647,
                "mutability": "mutable",
                "name": "gas",
                "nameLocation": "2317:3:5",
                "nodeType": "VariableDeclaration",
                "scope": 4668,
                "src": "2309:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4646,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2309:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4649,
                "mutability": "mutable",
                "name": "gasPrice",
                "nameLocation": "2338:8:5",
                "nodeType": "VariableDeclaration",
                "scope": 4668,
                "src": "2330:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4648,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2330:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4651,
                "mutability": "mutable",
                "name": "hash",
                "nameLocation": "2364:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4668,
                "src": "2356:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 4650,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2356:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4653,
                "mutability": "mutable",
                "name": "nonce",
                "nameLocation": "2386:5:5",
                "nodeType": "VariableDeclaration",
                "scope": 4668,
                "src": "2378:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4652,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2378:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4655,
                "mutability": "mutable",
                "name": "opcode",
                "nameLocation": "2408:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 4668,
                "src": "2401:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes1",
                  "typeString": "bytes1"
                },
                "typeName": {
                  "id": 4654,
                  "name": "bytes1",
                  "nodeType": "ElementaryTypeName",
                  "src": "2401:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes1",
                    "typeString": "bytes1"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4657,
                "mutability": "mutable",
                "name": "r",
                "nameLocation": "2432:1:5",
                "nodeType": "VariableDeclaration",
                "scope": 4668,
                "src": "2424:9:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 4656,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2424:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4659,
                "mutability": "mutable",
                "name": "s",
                "nameLocation": "2451:1:5",
                "nodeType": "VariableDeclaration",
                "scope": 4668,
                "src": "2443:9:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 4658,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2443:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4661,
                "mutability": "mutable",
                "name": "txType",
                "nameLocation": "2470:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 4668,
                "src": "2462:14:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4660,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2462:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4663,
                "mutability": "mutable",
                "name": "to",
                "nameLocation": "2494:2:5",
                "nodeType": "VariableDeclaration",
                "scope": 4668,
                "src": "2486:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4662,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "2486:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4665,
                "mutability": "mutable",
                "name": "v",
                "nameLocation": "2512:1:5",
                "nodeType": "VariableDeclaration",
                "scope": 4668,
                "src": "2506:7:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint8",
                  "typeString": "uint8"
                },
                "typeName": {
                  "id": 4664,
                  "name": "uint8",
                  "nodeType": "ElementaryTypeName",
                  "src": "2506:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4667,
                "mutability": "mutable",
                "name": "value",
                "nameLocation": "2531:5:5",
                "nodeType": "VariableDeclaration",
                "scope": 4668,
                "src": "2523:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4666,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "2523:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "TxDetailLegacy",
            "nameLocation": "2184:14:5",
            "scope": 6570,
            "visibility": "public"
          },
          {
            "id": 4674,
            "nodeType": "StructDefinition",
            "src": "2549:87:5",
            "nodes": [],
            "canonicalName": "StdCheatsSafe.AccessList",
            "members": [
              {
                "constant": false,
                "id": 4670,
                "mutability": "mutable",
                "name": "accessAddress",
                "nameLocation": "2585:13:5",
                "nodeType": "VariableDeclaration",
                "scope": 4674,
                "src": "2577:21:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4669,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "2577:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4673,
                "mutability": "mutable",
                "name": "storageKeys",
                "nameLocation": "2618:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 4674,
                "src": "2608:21:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                  "typeString": "bytes32[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4671,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2608:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 4672,
                  "nodeType": "ArrayTypeName",
                  "src": "2608:9:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                    "typeString": "bytes32[]"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "AccessList",
            "nameLocation": "2556:10:5",
            "scope": 6570,
            "visibility": "public"
          },
          {
            "id": 4703,
            "nodeType": "StructDefinition",
            "src": "2852:385:5",
            "nodes": [],
            "canonicalName": "StdCheatsSafe.RawReceipt",
            "members": [
              {
                "constant": false,
                "id": 4676,
                "mutability": "mutable",
                "name": "blockHash",
                "nameLocation": "2888:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 4703,
                "src": "2880:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 4675,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "2880:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4678,
                "mutability": "mutable",
                "name": "blockNumber",
                "nameLocation": "2913:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 4703,
                "src": "2907:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4677,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "2907:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4680,
                "mutability": "mutable",
                "name": "contractAddress",
                "nameLocation": "2942:15:5",
                "nodeType": "VariableDeclaration",
                "scope": 4703,
                "src": "2934:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4679,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "2934:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4682,
                "mutability": "mutable",
                "name": "cumulativeGasUsed",
                "nameLocation": "2973:17:5",
                "nodeType": "VariableDeclaration",
                "scope": 4703,
                "src": "2967:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4681,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "2967:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4684,
                "mutability": "mutable",
                "name": "effectiveGasPrice",
                "nameLocation": "3006:17:5",
                "nodeType": "VariableDeclaration",
                "scope": 4703,
                "src": "3000:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4683,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "3000:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4686,
                "mutability": "mutable",
                "name": "from",
                "nameLocation": "3041:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4703,
                "src": "3033:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4685,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "3033:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4688,
                "mutability": "mutable",
                "name": "gasUsed",
                "nameLocation": "3061:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 4703,
                "src": "3055:13:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4687,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "3055:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4692,
                "mutability": "mutable",
                "name": "logs",
                "nameLocation": "3094:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4703,
                "src": "3078:20:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.RawReceiptLog[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4690,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4689,
                      "name": "RawReceiptLog",
                      "nameLocations": [
                        "3078:13:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4800,
                      "src": "3078:13:5"
                    },
                    "referencedDeclaration": 4800,
                    "src": "3078:13:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawReceiptLog_$4800_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawReceiptLog"
                    }
                  },
                  "id": 4691,
                  "nodeType": "ArrayTypeName",
                  "src": "3078:15:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.RawReceiptLog[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4694,
                "mutability": "mutable",
                "name": "logsBloom",
                "nameLocation": "3114:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 4703,
                "src": "3108:15:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4693,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "3108:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4696,
                "mutability": "mutable",
                "name": "status",
                "nameLocation": "3139:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 4703,
                "src": "3133:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4695,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "3133:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4698,
                "mutability": "mutable",
                "name": "to",
                "nameLocation": "3163:2:5",
                "nodeType": "VariableDeclaration",
                "scope": 4703,
                "src": "3155:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4697,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "3155:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4700,
                "mutability": "mutable",
                "name": "transactionHash",
                "nameLocation": "3183:15:5",
                "nodeType": "VariableDeclaration",
                "scope": 4703,
                "src": "3175:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 4699,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "3175:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4702,
                "mutability": "mutable",
                "name": "transactionIndex",
                "nameLocation": "3214:16:5",
                "nodeType": "VariableDeclaration",
                "scope": 4703,
                "src": "3208:22:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4701,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "3208:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "RawReceipt",
            "nameLocation": "2859:10:5",
            "scope": 6570,
            "visibility": "public"
          },
          {
            "id": 4732,
            "nodeType": "StructDefinition",
            "src": "3243:391:5",
            "nodes": [],
            "canonicalName": "StdCheatsSafe.Receipt",
            "members": [
              {
                "constant": false,
                "id": 4705,
                "mutability": "mutable",
                "name": "blockHash",
                "nameLocation": "3276:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 4732,
                "src": "3268:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 4704,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "3268:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4707,
                "mutability": "mutable",
                "name": "blockNumber",
                "nameLocation": "3303:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 4732,
                "src": "3295:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4706,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3295:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4709,
                "mutability": "mutable",
                "name": "contractAddress",
                "nameLocation": "3332:15:5",
                "nodeType": "VariableDeclaration",
                "scope": 4732,
                "src": "3324:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4708,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "3324:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4711,
                "mutability": "mutable",
                "name": "cumulativeGasUsed",
                "nameLocation": "3365:17:5",
                "nodeType": "VariableDeclaration",
                "scope": 4732,
                "src": "3357:25:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4710,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3357:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4713,
                "mutability": "mutable",
                "name": "effectiveGasPrice",
                "nameLocation": "3400:17:5",
                "nodeType": "VariableDeclaration",
                "scope": 4732,
                "src": "3392:25:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4712,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3392:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4715,
                "mutability": "mutable",
                "name": "from",
                "nameLocation": "3435:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4732,
                "src": "3427:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4714,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "3427:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4717,
                "mutability": "mutable",
                "name": "gasUsed",
                "nameLocation": "3457:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 4732,
                "src": "3449:15:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4716,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3449:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4721,
                "mutability": "mutable",
                "name": "logs",
                "nameLocation": "3487:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4732,
                "src": "3474:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.ReceiptLog[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4719,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4718,
                      "name": "ReceiptLog",
                      "nameLocations": [
                        "3474:10:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4820,
                      "src": "3474:10:5"
                    },
                    "referencedDeclaration": 4820,
                    "src": "3474:10:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ReceiptLog_$4820_storage_ptr",
                      "typeString": "struct StdCheatsSafe.ReceiptLog"
                    }
                  },
                  "id": 4720,
                  "nodeType": "ArrayTypeName",
                  "src": "3474:12:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.ReceiptLog[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4723,
                "mutability": "mutable",
                "name": "logsBloom",
                "nameLocation": "3507:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 4732,
                "src": "3501:15:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4722,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "3501:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4725,
                "mutability": "mutable",
                "name": "status",
                "nameLocation": "3534:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 4732,
                "src": "3526:14:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4724,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3526:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4727,
                "mutability": "mutable",
                "name": "to",
                "nameLocation": "3558:2:5",
                "nodeType": "VariableDeclaration",
                "scope": 4732,
                "src": "3550:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4726,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "3550:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4729,
                "mutability": "mutable",
                "name": "transactionHash",
                "nameLocation": "3578:15:5",
                "nodeType": "VariableDeclaration",
                "scope": 4732,
                "src": "3570:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 4728,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "3570:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4731,
                "mutability": "mutable",
                "name": "transactionIndex",
                "nameLocation": "3611:16:5",
                "nodeType": "VariableDeclaration",
                "scope": 4732,
                "src": "3603:24:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4730,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3603:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Receipt",
            "nameLocation": "3250:7:5",
            "scope": 6570,
            "visibility": "public"
          },
          {
            "id": 4755,
            "nodeType": "StructDefinition",
            "src": "3757:227:5",
            "nodes": [],
            "canonicalName": "StdCheatsSafe.EIP1559ScriptArtifact",
            "members": [
              {
                "constant": false,
                "id": 4735,
                "mutability": "mutable",
                "name": "libraries",
                "nameLocation": "3805:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 4755,
                "src": "3796:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                  "typeString": "string[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4733,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3796:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "id": 4734,
                  "nodeType": "ArrayTypeName",
                  "src": "3796:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                    "typeString": "string[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4737,
                "mutability": "mutable",
                "name": "path",
                "nameLocation": "3831:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4755,
                "src": "3824:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4736,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "3824:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4740,
                "mutability": "mutable",
                "name": "pending",
                "nameLocation": "3854:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 4755,
                "src": "3845:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                  "typeString": "string[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4738,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3845:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "id": 4739,
                  "nodeType": "ArrayTypeName",
                  "src": "3845:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                    "typeString": "string[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4744,
                "mutability": "mutable",
                "name": "receipts",
                "nameLocation": "3881:8:5",
                "nodeType": "VariableDeclaration",
                "scope": 4755,
                "src": "3871:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_Receipt_$4732_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Receipt[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4742,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4741,
                      "name": "Receipt",
                      "nameLocations": [
                        "3871:7:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4732,
                      "src": "3871:7:5"
                    },
                    "referencedDeclaration": 4732,
                    "src": "3871:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Receipt_$4732_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt"
                    }
                  },
                  "id": 4743,
                  "nodeType": "ArrayTypeName",
                  "src": "3871:9:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_Receipt_$4732_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Receipt[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4746,
                "mutability": "mutable",
                "name": "timestamp",
                "nameLocation": "3907:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 4755,
                "src": "3899:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4745,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "3899:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4750,
                "mutability": "mutable",
                "name": "transactions",
                "nameLocation": "3935:12:5",
                "nodeType": "VariableDeclaration",
                "scope": 4755,
                "src": "3926:21:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_Tx1559_$4599_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.Tx1559[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4748,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4747,
                      "name": "Tx1559",
                      "nameLocations": [
                        "3926:6:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4599,
                      "src": "3926:6:5"
                    },
                    "referencedDeclaration": 4599,
                    "src": "3926:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Tx1559_$4599_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559"
                    }
                  },
                  "id": 4749,
                  "nodeType": "ArrayTypeName",
                  "src": "3926:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_Tx1559_$4599_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.Tx1559[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4754,
                "mutability": "mutable",
                "name": "txReturns",
                "nameLocation": "3968:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 4755,
                "src": "3957:20:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_TxReturn_$4825_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.TxReturn[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4752,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4751,
                      "name": "TxReturn",
                      "nameLocations": [
                        "3957:8:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4825,
                      "src": "3957:8:5"
                    },
                    "referencedDeclaration": 4825,
                    "src": "3957:8:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_TxReturn_$4825_storage_ptr",
                      "typeString": "struct StdCheatsSafe.TxReturn"
                    }
                  },
                  "id": 4753,
                  "nodeType": "ArrayTypeName",
                  "src": "3957:10:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_TxReturn_$4825_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.TxReturn[]"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "EIP1559ScriptArtifact",
            "nameLocation": "3764:21:5",
            "scope": 6570,
            "visibility": "public"
          },
          {
            "id": 4778,
            "nodeType": "StructDefinition",
            "src": "3990:236:5",
            "nodes": [],
            "canonicalName": "StdCheatsSafe.RawEIP1559ScriptArtifact",
            "members": [
              {
                "constant": false,
                "id": 4758,
                "mutability": "mutable",
                "name": "libraries",
                "nameLocation": "4041:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 4778,
                "src": "4032:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                  "typeString": "string[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4756,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4032:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "id": 4757,
                  "nodeType": "ArrayTypeName",
                  "src": "4032:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                    "typeString": "string[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4760,
                "mutability": "mutable",
                "name": "path",
                "nameLocation": "4067:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4778,
                "src": "4060:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4759,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "4060:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4763,
                "mutability": "mutable",
                "name": "pending",
                "nameLocation": "4090:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 4778,
                "src": "4081:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                  "typeString": "string[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4761,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4081:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "id": 4762,
                  "nodeType": "ArrayTypeName",
                  "src": "4081:8:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                    "typeString": "string[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4767,
                "mutability": "mutable",
                "name": "receipts",
                "nameLocation": "4120:8:5",
                "nodeType": "VariableDeclaration",
                "scope": 4778,
                "src": "4107:21:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_RawReceipt_$4703_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.RawReceipt[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4765,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4764,
                      "name": "RawReceipt",
                      "nameLocations": [
                        "4107:10:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4703,
                      "src": "4107:10:5"
                    },
                    "referencedDeclaration": 4703,
                    "src": "4107:10:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawReceipt_$4703_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawReceipt"
                    }
                  },
                  "id": 4766,
                  "nodeType": "ArrayTypeName",
                  "src": "4107:12:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RawReceipt_$4703_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.RawReceipt[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4771,
                "mutability": "mutable",
                "name": "txReturns",
                "nameLocation": "4149:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 4778,
                "src": "4138:20:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_TxReturn_$4825_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.TxReturn[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4769,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4768,
                      "name": "TxReturn",
                      "nameLocations": [
                        "4138:8:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4825,
                      "src": "4138:8:5"
                    },
                    "referencedDeclaration": 4825,
                    "src": "4138:8:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_TxReturn_$4825_storage_ptr",
                      "typeString": "struct StdCheatsSafe.TxReturn"
                    }
                  },
                  "id": 4770,
                  "nodeType": "ArrayTypeName",
                  "src": "4138:10:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_TxReturn_$4825_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.TxReturn[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4773,
                "mutability": "mutable",
                "name": "timestamp",
                "nameLocation": "4176:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 4778,
                "src": "4168:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4772,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4168:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4777,
                "mutability": "mutable",
                "name": "transactions",
                "nameLocation": "4207:12:5",
                "nodeType": "VariableDeclaration",
                "scope": 4778,
                "src": "4195:24:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_struct$_RawTx1559_$4563_storage_$dyn_storage_ptr",
                  "typeString": "struct StdCheatsSafe.RawTx1559[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4775,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4774,
                      "name": "RawTx1559",
                      "nameLocations": [
                        "4195:9:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4563,
                      "src": "4195:9:5"
                    },
                    "referencedDeclaration": 4563,
                    "src": "4195:9:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawTx1559_$4563_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawTx1559"
                    }
                  },
                  "id": 4776,
                  "nodeType": "ArrayTypeName",
                  "src": "4195:11:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RawTx1559_$4563_storage_$dyn_storage_ptr",
                    "typeString": "struct StdCheatsSafe.RawTx1559[]"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "RawEIP1559ScriptArtifact",
            "nameLocation": "3997:24:5",
            "scope": 6570,
            "visibility": "public"
          },
          {
            "id": 4800,
            "nodeType": "StructDefinition",
            "src": "4232:334:5",
            "nodes": [],
            "canonicalName": "StdCheatsSafe.RawReceiptLog",
            "members": [
              {
                "constant": false,
                "id": 4780,
                "mutability": "mutable",
                "name": "logAddress",
                "nameLocation": "4303:10:5",
                "nodeType": "VariableDeclaration",
                "scope": 4800,
                "src": "4295:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4779,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4295:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4782,
                "mutability": "mutable",
                "name": "blockHash",
                "nameLocation": "4331:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 4800,
                "src": "4323:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 4781,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4323:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4784,
                "mutability": "mutable",
                "name": "blockNumber",
                "nameLocation": "4356:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 4800,
                "src": "4350:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4783,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4350:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4786,
                "mutability": "mutable",
                "name": "data",
                "nameLocation": "4383:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4800,
                "src": "4377:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4785,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4377:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4788,
                "mutability": "mutable",
                "name": "logIndex",
                "nameLocation": "4403:8:5",
                "nodeType": "VariableDeclaration",
                "scope": 4800,
                "src": "4397:14:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4787,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4397:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4790,
                "mutability": "mutable",
                "name": "removed",
                "nameLocation": "4426:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 4800,
                "src": "4421:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                },
                "typeName": {
                  "id": 4789,
                  "name": "bool",
                  "nodeType": "ElementaryTypeName",
                  "src": "4421:4:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4793,
                "mutability": "mutable",
                "name": "topics",
                "nameLocation": "4453:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 4800,
                "src": "4443:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                  "typeString": "bytes32[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4791,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4443:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 4792,
                  "nodeType": "ArrayTypeName",
                  "src": "4443:9:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                    "typeString": "bytes32[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4795,
                "mutability": "mutable",
                "name": "transactionHash",
                "nameLocation": "4477:15:5",
                "nodeType": "VariableDeclaration",
                "scope": 4800,
                "src": "4469:23:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 4794,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4469:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4797,
                "mutability": "mutable",
                "name": "transactionIndex",
                "nameLocation": "4508:16:5",
                "nodeType": "VariableDeclaration",
                "scope": 4800,
                "src": "4502:22:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4796,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4502:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4799,
                "mutability": "mutable",
                "name": "transactionLogIndex",
                "nameLocation": "4540:19:5",
                "nodeType": "VariableDeclaration",
                "scope": 4800,
                "src": "4534:25:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4798,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4534:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "RawReceiptLog",
            "nameLocation": "4239:13:5",
            "scope": 6570,
            "visibility": "public"
          },
          {
            "id": 4820,
            "nodeType": "StructDefinition",
            "src": "4572:306:5",
            "nodes": [],
            "canonicalName": "StdCheatsSafe.ReceiptLog",
            "members": [
              {
                "constant": false,
                "id": 4802,
                "mutability": "mutable",
                "name": "logAddress",
                "nameLocation": "4640:10:5",
                "nodeType": "VariableDeclaration",
                "scope": 4820,
                "src": "4632:18:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4801,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4632:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4804,
                "mutability": "mutable",
                "name": "blockHash",
                "nameLocation": "4668:9:5",
                "nodeType": "VariableDeclaration",
                "scope": 4820,
                "src": "4660:17:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 4803,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "4660:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4806,
                "mutability": "mutable",
                "name": "blockNumber",
                "nameLocation": "4695:11:5",
                "nodeType": "VariableDeclaration",
                "scope": 4820,
                "src": "4687:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4805,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4687:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4808,
                "mutability": "mutable",
                "name": "data",
                "nameLocation": "4722:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4820,
                "src": "4716:10:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes_storage_ptr",
                  "typeString": "bytes"
                },
                "typeName": {
                  "id": 4807,
                  "name": "bytes",
                  "nodeType": "ElementaryTypeName",
                  "src": "4716:5:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_storage_ptr",
                    "typeString": "bytes"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4810,
                "mutability": "mutable",
                "name": "logIndex",
                "nameLocation": "4744:8:5",
                "nodeType": "VariableDeclaration",
                "scope": 4820,
                "src": "4736:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4809,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4736:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4813,
                "mutability": "mutable",
                "name": "topics",
                "nameLocation": "4772:6:5",
                "nodeType": "VariableDeclaration",
                "scope": 4820,
                "src": "4762:16:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                  "typeString": "bytes32[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4811,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4762:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 4812,
                  "nodeType": "ArrayTypeName",
                  "src": "4762:9:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                    "typeString": "bytes32[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4815,
                "mutability": "mutable",
                "name": "transactionIndex",
                "nameLocation": "4796:16:5",
                "nodeType": "VariableDeclaration",
                "scope": 4820,
                "src": "4788:24:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4814,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4788:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4817,
                "mutability": "mutable",
                "name": "transactionLogIndex",
                "nameLocation": "4830:19:5",
                "nodeType": "VariableDeclaration",
                "scope": 4820,
                "src": "4822:27:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4816,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "4822:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4819,
                "mutability": "mutable",
                "name": "removed",
                "nameLocation": "4864:7:5",
                "nodeType": "VariableDeclaration",
                "scope": 4820,
                "src": "4859:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                },
                "typeName": {
                  "id": 4818,
                  "name": "bool",
                  "nodeType": "ElementaryTypeName",
                  "src": "4859:4:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "ReceiptLog",
            "nameLocation": "4579:10:5",
            "scope": 6570,
            "visibility": "public"
          },
          {
            "id": 4825,
            "nodeType": "StructDefinition",
            "src": "4884:74:5",
            "nodes": [],
            "canonicalName": "StdCheatsSafe.TxReturn",
            "members": [
              {
                "constant": false,
                "id": 4822,
                "mutability": "mutable",
                "name": "internalType",
                "nameLocation": "4917:12:5",
                "nodeType": "VariableDeclaration",
                "scope": 4825,
                "src": "4910:19:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4821,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "4910:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4824,
                "mutability": "mutable",
                "name": "value",
                "nameLocation": "4946:5:5",
                "nodeType": "VariableDeclaration",
                "scope": 4825,
                "src": "4939:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4823,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "4939:6:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "TxReturn",
            "nameLocation": "4891:8:5",
            "scope": 6570,
            "visibility": "public"
          },
          {
            "id": 4830,
            "nodeType": "StructDefinition",
            "src": "4964:65:5",
            "nodes": [],
            "canonicalName": "StdCheatsSafe.Account",
            "members": [
              {
                "constant": false,
                "id": 4827,
                "mutability": "mutable",
                "name": "addr",
                "nameLocation": "4997:4:5",
                "nodeType": "VariableDeclaration",
                "scope": 4830,
                "src": "4989:12:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 4826,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "4989:7:5",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4829,
                "mutability": "mutable",
                "name": "key",
                "nameLocation": "5019:3:5",
                "nodeType": "VariableDeclaration",
                "scope": 4830,
                "src": "5011:11:5",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4828,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "5011:7:5",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Account",
            "nameLocation": "4971:7:5",
            "scope": 6570,
            "visibility": "public"
          },
          {
            "id": 4836,
            "nodeType": "EnumDefinition",
            "src": "5035:123:5",
            "nodes": [],
            "canonicalName": "StdCheatsSafe.AddressType",
            "members": [
              {
                "id": 4831,
                "name": "Payable",
                "nameLocation": "5062:7:5",
                "nodeType": "EnumValue",
                "src": "5062:7:5"
              },
              {
                "id": 4832,
                "name": "NonPayable",
                "nameLocation": "5079:10:5",
                "nodeType": "EnumValue",
                "src": "5079:10:5"
              },
              {
                "id": 4833,
                "name": "ZeroAddress",
                "nameLocation": "5099:11:5",
                "nodeType": "EnumValue",
                "src": "5099:11:5"
              },
              {
                "id": 4834,
                "name": "Precompile",
                "nameLocation": "5120:10:5",
                "nodeType": "EnumValue",
                "src": "5120:10:5"
              },
              {
                "id": 4835,
                "name": "ForgeAddress",
                "nameLocation": "5140:12:5",
                "nodeType": "EnumValue",
                "src": "5140:12:5"
              }
            ],
            "name": "AddressType",
            "nameLocation": "5040:11:5"
          },
          {
            "id": 4921,
            "nodeType": "FunctionDefinition",
            "src": "5251:903:5",
            "nodes": [],
            "body": {
              "id": 4920,
              "nodeType": "Block",
              "src": "5332:822:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    4844
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4844,
                      "mutability": "mutable",
                      "name": "tokenCodeSize",
                      "nameLocation": "5408:13:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4920,
                      "src": "5400:21:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 4843,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "5400:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4845,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5400:21:5"
                },
                {
                  "AST": {
                    "nativeSrc": "5440:59:5",
                    "nodeType": "YulBlock",
                    "src": "5440:59:5",
                    "statements": [
                      {
                        "nativeSrc": "5454:35:5",
                        "nodeType": "YulAssignment",
                        "src": "5454:35:5",
                        "value": {
                          "arguments": [
                            {
                              "name": "token",
                              "nativeSrc": "5483:5:5",
                              "nodeType": "YulIdentifier",
                              "src": "5483:5:5"
                            }
                          ],
                          "functionName": {
                            "name": "extcodesize",
                            "nativeSrc": "5471:11:5",
                            "nodeType": "YulIdentifier",
                            "src": "5471:11:5"
                          },
                          "nativeSrc": "5471:18:5",
                          "nodeType": "YulFunctionCall",
                          "src": "5471:18:5"
                        },
                        "variableNames": [
                          {
                            "name": "tokenCodeSize",
                            "nativeSrc": "5454:13:5",
                            "nodeType": "YulIdentifier",
                            "src": "5454:13:5"
                          }
                        ]
                      }
                    ]
                  },
                  "evmVersion": "paris",
                  "externalReferences": [
                    {
                      "declaration": 4838,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "5483:5:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 4844,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "5454:13:5",
                      "valueSize": 1
                    }
                  ],
                  "id": 4846,
                  "nodeType": "InlineAssembly",
                  "src": "5431:68:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 4850,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 4848,
                          "name": "tokenCodeSize",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4844,
                          "src": "5516:13:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 4849,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5532:1:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "5516:17:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "53746443686561747320617373756d654e6f74426c61636b6c697374656428616464726573732c61646472657373293a20546f6b656e2061646472657373206973206e6f74206120636f6e74726163742e",
                        "id": 4851,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5535:83:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_ff181fc90e0398988b2d16ac6106309afb26707604277f79174c19e18b9403ed",
                          "typeString": "literal_string \"StdCheats assumeNotBlacklisted(address,address): Token address is not a contract.\""
                        },
                        "value": "StdCheats assumeNotBlacklisted(address,address): Token address is not a contract."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_ff181fc90e0398988b2d16ac6106309afb26707604277f79174c19e18b9403ed",
                          "typeString": "literal_string \"StdCheats assumeNotBlacklisted(address,address): Token address is not a contract.\""
                        }
                      ],
                      "id": 4847,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "5508:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4852,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5508:111:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4853,
                  "nodeType": "ExpressionStatement",
                  "src": "5508:111:5"
                },
                {
                  "assignments": [
                    4855
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4855,
                      "mutability": "mutable",
                      "name": "success",
                      "nameLocation": "5635:7:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4920,
                      "src": "5630:12:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 4854,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "5630:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4856,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5630:12:5"
                },
                {
                  "assignments": [
                    4858
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4858,
                      "mutability": "mutable",
                      "name": "returnData",
                      "nameLocation": "5665:10:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 4920,
                      "src": "5652:23:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 4857,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "5652:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4859,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5652:23:5"
                },
                {
                  "expression": {
                    "id": 4871,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "components": [
                        {
                          "id": 4860,
                          "name": "success",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4855,
                          "src": "5758:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        {
                          "id": 4861,
                          "name": "returnData",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4858,
                          "src": "5767:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "id": 4862,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "5757:21:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                        "typeString": "tuple(bool,bytes memory)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "hexValue": "30786665353735613837",
                              "id": 4867,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "5821:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_4267137671_by_1",
                                "typeString": "int_const 4267137671"
                              },
                              "value": "0xfe575a87"
                            },
                            {
                              "id": 4868,
                              "name": "addr",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4840,
                              "src": "5833:4:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_4267137671_by_1",
                                "typeString": "int_const 4267137671"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "expression": {
                              "id": 4865,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -1,
                              "src": "5798:3:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 4866,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "5802:18:5",
                            "memberName": "encodeWithSelector",
                            "nodeType": "MemberAccess",
                            "src": "5798:22:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function (bytes4) pure returns (bytes memory)"
                            }
                          },
                          "id": 4869,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5798:40:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "expression": {
                          "id": 4863,
                          "name": "token",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4838,
                          "src": "5781:5:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 4864,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "5787:10:5",
                        "memberName": "staticcall",
                        "nodeType": "MemberAccess",
                        "src": "5781:16:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                          "typeString": "function (bytes memory) view returns (bool,bytes memory)"
                        }
                      },
                      "id": 4870,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "5781:58:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                        "typeString": "tuple(bool,bytes memory)"
                      }
                    },
                    "src": "5757:82:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4872,
                  "nodeType": "ExpressionStatement",
                  "src": "5757:82:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 4887,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 4877,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "!",
                          "prefix": true,
                          "src": "5859:8:5",
                          "subExpression": {
                            "id": 4876,
                            "name": "success",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4855,
                            "src": "5860:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 4886,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "id": 4880,
                                "name": "returnData",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4858,
                                "src": "5882:10:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              {
                                "components": [
                                  {
                                    "id": 4882,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "5895:4:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_bool_$",
                                      "typeString": "type(bool)"
                                    },
                                    "typeName": {
                                      "id": 4881,
                                      "name": "bool",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "5895:4:5",
                                      "typeDescriptions": {}
                                    }
                                  }
                                ],
                                "id": 4883,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "5894:6:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bool_$",
                                  "typeString": "type(bool)"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                },
                                {
                                  "typeIdentifier": "t_type$_t_bool_$",
                                  "typeString": "type(bool)"
                                }
                              ],
                              "expression": {
                                "id": 4878,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -1,
                                "src": "5871:3:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 4879,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "5875:6:5",
                              "memberName": "decode",
                              "nodeType": "MemberAccess",
                              "src": "5871:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                "typeString": "function () pure"
                              }
                            },
                            "id": 4884,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5871:30:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "hexValue": "66616c7365",
                            "id": 4885,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5905:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "false"
                          },
                          "src": "5871:39:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "5859:51:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "id": 4873,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "5849:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4875,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5852:6:5",
                      "memberName": "assume",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12973,
                      "src": "5849:9:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure external"
                      }
                    },
                    "id": 4888,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5849:62:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4889,
                  "nodeType": "ExpressionStatement",
                  "src": "5849:62:5"
                },
                {
                  "expression": {
                    "id": 4901,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "components": [
                        {
                          "id": 4890,
                          "name": "success",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4855,
                          "src": "5994:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        {
                          "id": 4891,
                          "name": "returnData",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4858,
                          "src": "6003:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "id": 4892,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "5993:21:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                        "typeString": "tuple(bool,bytes memory)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "hexValue": "30786534376436303630",
                              "id": 4897,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6057:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_3833421920_by_1",
                                "typeString": "int_const 3833421920"
                              },
                              "value": "0xe47d6060"
                            },
                            {
                              "id": 4898,
                              "name": "addr",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4840,
                              "src": "6069:4:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_3833421920_by_1",
                                "typeString": "int_const 3833421920"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "expression": {
                              "id": 4895,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -1,
                              "src": "6034:3:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 4896,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "6038:18:5",
                            "memberName": "encodeWithSelector",
                            "nodeType": "MemberAccess",
                            "src": "6034:22:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function (bytes4) pure returns (bytes memory)"
                            }
                          },
                          "id": 4899,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6034:40:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "expression": {
                          "id": 4893,
                          "name": "token",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4838,
                          "src": "6017:5:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 4894,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6023:10:5",
                        "memberName": "staticcall",
                        "nodeType": "MemberAccess",
                        "src": "6017:16:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                          "typeString": "function (bytes memory) view returns (bool,bytes memory)"
                        }
                      },
                      "id": 4900,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6017:58:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                        "typeString": "tuple(bool,bytes memory)"
                      }
                    },
                    "src": "5993:82:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4902,
                  "nodeType": "ExpressionStatement",
                  "src": "5993:82:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 4917,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 4907,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "!",
                          "prefix": true,
                          "src": "6095:8:5",
                          "subExpression": {
                            "id": 4906,
                            "name": "success",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4855,
                            "src": "6096:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 4916,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "id": 4910,
                                "name": "returnData",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4858,
                                "src": "6118:10:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              {
                                "components": [
                                  {
                                    "id": 4912,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "6131:4:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_bool_$",
                                      "typeString": "type(bool)"
                                    },
                                    "typeName": {
                                      "id": 4911,
                                      "name": "bool",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "6131:4:5",
                                      "typeDescriptions": {}
                                    }
                                  }
                                ],
                                "id": 4913,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "6130:6:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bool_$",
                                  "typeString": "type(bool)"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                },
                                {
                                  "typeIdentifier": "t_type$_t_bool_$",
                                  "typeString": "type(bool)"
                                }
                              ],
                              "expression": {
                                "id": 4908,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -1,
                                "src": "6107:3:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 4909,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "6111:6:5",
                              "memberName": "decode",
                              "nodeType": "MemberAccess",
                              "src": "6107:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                "typeString": "function () pure"
                              }
                            },
                            "id": 4914,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "6107:30:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "hexValue": "66616c7365",
                            "id": 4915,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "6141:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "false"
                          },
                          "src": "6107:39:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "6095:51:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "id": 4903,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "6085:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 4905,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6088:6:5",
                      "memberName": "assume",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12973,
                      "src": "6085:9:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure external"
                      }
                    },
                    "id": 4918,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6085:62:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4919,
                  "nodeType": "ExpressionStatement",
                  "src": "6085:62:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "assumeNotBlacklisted",
            "nameLocation": "5260:20:5",
            "parameters": {
              "id": 4841,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4838,
                  "mutability": "mutable",
                  "name": "token",
                  "nameLocation": "5289:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4921,
                  "src": "5281:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4837,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5281:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4840,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "5304:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4921,
                  "src": "5296:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4839,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5296:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5280:29:5"
            },
            "returnParameters": {
              "id": 4842,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5332:0:5"
            },
            "scope": 6570,
            "stateMutability": "view",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4934,
            "nodeType": "FunctionDefinition",
            "src": "6543:130:5",
            "nodes": [],
            "body": {
              "id": 4933,
              "nodeType": "Block",
              "src": "6623:50:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4929,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4923,
                        "src": "6654:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 4930,
                        "name": "addr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4925,
                        "src": "6661:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 4928,
                      "name": "assumeNotBlacklisted",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4921,
                      "src": "6633:20:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$__$",
                        "typeString": "function (address,address) view"
                      }
                    },
                    "id": 4931,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6633:33:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4932,
                  "nodeType": "ExpressionStatement",
                  "src": "6633:33:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "assumeNoBlacklisted",
            "nameLocation": "6552:19:5",
            "parameters": {
              "id": 4926,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4923,
                  "mutability": "mutable",
                  "name": "token",
                  "nameLocation": "6580:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4934,
                  "src": "6572:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4922,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6572:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4925,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "6595:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4934,
                  "src": "6587:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4924,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6587:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6571:29:5"
            },
            "returnParameters": {
              "id": 4927,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6623:0:5"
            },
            "scope": 6570,
            "stateMutability": "view",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 4993,
            "nodeType": "FunctionDefinition",
            "src": "6679:583:5",
            "nodes": [],
            "body": {
              "id": 4992,
              "nodeType": "Block",
              "src": "6763:499:5",
              "nodes": [],
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_AddressType_$4836",
                      "typeString": "enum StdCheatsSafe.AddressType"
                    },
                    "id": 4945,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 4942,
                      "name": "addressType",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4939,
                      "src": "6777:11:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_AddressType_$4836",
                        "typeString": "enum StdCheatsSafe.AddressType"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "id": 4943,
                        "name": "AddressType",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4836,
                        "src": "6792:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_AddressType_$4836_$",
                          "typeString": "type(enum StdCheatsSafe.AddressType)"
                        }
                      },
                      "id": 4944,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "6804:7:5",
                      "memberName": "Payable",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4831,
                      "src": "6792:19:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_AddressType_$4836",
                        "typeString": "enum StdCheatsSafe.AddressType"
                      }
                    },
                    "src": "6777:34:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_AddressType_$4836",
                        "typeString": "enum StdCheatsSafe.AddressType"
                      },
                      "id": 4954,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 4951,
                        "name": "addressType",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4939,
                        "src": "6870:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "id": 4952,
                          "name": "AddressType",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4836,
                          "src": "6885:11:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_AddressType_$4836_$",
                            "typeString": "type(enum StdCheatsSafe.AddressType)"
                          }
                        },
                        "id": 4953,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "6897:10:5",
                        "memberName": "NonPayable",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4832,
                        "src": "6885:22:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      },
                      "src": "6870:37:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        },
                        "id": 4963,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 4960,
                          "name": "addressType",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4939,
                          "src": "6963:11:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_AddressType_$4836",
                            "typeString": "enum StdCheatsSafe.AddressType"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "id": 4961,
                            "name": "AddressType",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4836,
                            "src": "6978:11:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_AddressType_$4836_$",
                              "typeString": "type(enum StdCheatsSafe.AddressType)"
                            }
                          },
                          "id": 4962,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "6990:11:5",
                          "memberName": "ZeroAddress",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4833,
                          "src": "6978:23:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_AddressType_$4836",
                            "typeString": "enum StdCheatsSafe.AddressType"
                          }
                        },
                        "src": "6963:38:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "falseBody": {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_AddressType_$4836",
                            "typeString": "enum StdCheatsSafe.AddressType"
                          },
                          "id": 4972,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 4969,
                            "name": "addressType",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4939,
                            "src": "7064:11:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_AddressType_$4836",
                              "typeString": "enum StdCheatsSafe.AddressType"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "id": 4970,
                              "name": "AddressType",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4836,
                              "src": "7079:11:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_AddressType_$4836_$",
                                "typeString": "type(enum StdCheatsSafe.AddressType)"
                              }
                            },
                            "id": 4971,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "7091:10:5",
                            "memberName": "Precompile",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 4834,
                            "src": "7079:22:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_AddressType_$4836",
                              "typeString": "enum StdCheatsSafe.AddressType"
                            }
                          },
                          "src": "7064:37:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "condition": {
                            "commonType": {
                              "typeIdentifier": "t_enum$_AddressType_$4836",
                              "typeString": "enum StdCheatsSafe.AddressType"
                            },
                            "id": 4981,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 4978,
                              "name": "addressType",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4939,
                              "src": "7163:11:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_AddressType_$4836",
                                "typeString": "enum StdCheatsSafe.AddressType"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "expression": {
                                "id": 4979,
                                "name": "AddressType",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4836,
                                "src": "7178:11:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_AddressType_$4836_$",
                                  "typeString": "type(enum StdCheatsSafe.AddressType)"
                                }
                              },
                              "id": 4980,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "7190:12:5",
                              "memberName": "ForgeAddress",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 4835,
                              "src": "7178:24:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_AddressType_$4836",
                                "typeString": "enum StdCheatsSafe.AddressType"
                              }
                            },
                            "src": "7163:39:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "id": 4987,
                          "nodeType": "IfStatement",
                          "src": "7159:97:5",
                          "trueBody": {
                            "id": 4986,
                            "nodeType": "Block",
                            "src": "7204:52:5",
                            "statements": [
                              {
                                "expression": {
                                  "arguments": [
                                    {
                                      "id": 4983,
                                      "name": "addr",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4936,
                                      "src": "7240:4:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "id": 4982,
                                    "name": "assumeNotForgeAddress",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5378,
                                    "src": "7218:21:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$",
                                      "typeString": "function (address) pure"
                                    }
                                  },
                                  "id": 4984,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "7218:27:5",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$__$",
                                    "typeString": "tuple()"
                                  }
                                },
                                "id": 4985,
                                "nodeType": "ExpressionStatement",
                                "src": "7218:27:5"
                              }
                            ]
                          }
                        },
                        "id": 4988,
                        "nodeType": "IfStatement",
                        "src": "7060:196:5",
                        "trueBody": {
                          "id": 4977,
                          "nodeType": "Block",
                          "src": "7103:50:5",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "id": 4974,
                                    "name": "addr",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4936,
                                    "src": "7137:4:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "id": 4973,
                                  "name": "assumeNotPrecompile",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    5214,
                                    5357
                                  ],
                                  "referencedDeclaration": 5214,
                                  "src": "7117:19:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$",
                                    "typeString": "function (address) pure"
                                  }
                                },
                                "id": 4975,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "7117:25:5",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 4976,
                              "nodeType": "ExpressionStatement",
                              "src": "7117:25:5"
                            }
                          ]
                        }
                      },
                      "id": 4989,
                      "nodeType": "IfStatement",
                      "src": "6959:297:5",
                      "trueBody": {
                        "id": 4968,
                        "nodeType": "Block",
                        "src": "7003:51:5",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "id": 4965,
                                  "name": "addr",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4936,
                                  "src": "7038:4:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "id": 4964,
                                "name": "assumeNotZeroAddress",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5202,
                                "src": "7017:20:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$",
                                  "typeString": "function (address) pure"
                                }
                              },
                              "id": 4966,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "7017:26:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 4967,
                            "nodeType": "ExpressionStatement",
                            "src": "7017:26:5"
                          }
                        ]
                      }
                    },
                    "id": 4990,
                    "nodeType": "IfStatement",
                    "src": "6866:390:5",
                    "trueBody": {
                      "id": 4959,
                      "nodeType": "Block",
                      "src": "6909:44:5",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "id": 4956,
                                "name": "addr",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4936,
                                "src": "6937:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "id": 4955,
                              "name": "assumePayable",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5170,
                              "src": "6923:13:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
                                "typeString": "function (address)"
                              }
                            },
                            "id": 4957,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "6923:19:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 4958,
                          "nodeType": "ExpressionStatement",
                          "src": "6923:19:5"
                        }
                      ]
                    }
                  },
                  "id": 4991,
                  "nodeType": "IfStatement",
                  "src": "6773:483:5",
                  "trueBody": {
                    "id": 4950,
                    "nodeType": "Block",
                    "src": "6813:47:5",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 4947,
                              "name": "addr",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4936,
                              "src": "6844:4:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 4946,
                            "name": "assumeNotPayable",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5185,
                            "src": "6827:16:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
                              "typeString": "function (address)"
                            }
                          },
                          "id": 4948,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6827:22:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 4949,
                        "nodeType": "ExpressionStatement",
                        "src": "6827:22:5"
                      }
                    ]
                  }
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "assumeAddressIsNot",
            "nameLocation": "6688:18:5",
            "parameters": {
              "id": 4940,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4936,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "6715:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4993,
                  "src": "6707:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4935,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6707:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4939,
                  "mutability": "mutable",
                  "name": "addressType",
                  "nameLocation": "6733:11:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 4993,
                  "src": "6721:23:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_AddressType_$4836",
                    "typeString": "enum StdCheatsSafe.AddressType"
                  },
                  "typeName": {
                    "id": 4938,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4937,
                      "name": "AddressType",
                      "nameLocations": [
                        "6721:11:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4836,
                      "src": "6721:11:5"
                    },
                    "referencedDeclaration": 4836,
                    "src": "6721:11:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_AddressType_$4836",
                      "typeString": "enum StdCheatsSafe.AddressType"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6706:39:5"
            },
            "returnParameters": {
              "id": 4941,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6763:0:5"
            },
            "scope": 6570,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5015,
            "nodeType": "FunctionDefinition",
            "src": "7268:214:5",
            "nodes": [],
            "body": {
              "id": 5014,
              "nodeType": "Block",
              "src": "7379:103:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5005,
                        "name": "addr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4995,
                        "src": "7408:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 5006,
                        "name": "addressType1",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4998,
                        "src": "7414:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      ],
                      "id": 5004,
                      "name": "assumeAddressIsNot",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4993,
                        5015,
                        5045,
                        5083
                      ],
                      "referencedDeclaration": 4993,
                      "src": "7389:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4836_$returns$__$",
                        "typeString": "function (address,enum StdCheatsSafe.AddressType)"
                      }
                    },
                    "id": 5007,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7389:38:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5008,
                  "nodeType": "ExpressionStatement",
                  "src": "7389:38:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5010,
                        "name": "addr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4995,
                        "src": "7456:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 5011,
                        "name": "addressType2",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5001,
                        "src": "7462:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      ],
                      "id": 5009,
                      "name": "assumeAddressIsNot",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4993,
                        5015,
                        5045,
                        5083
                      ],
                      "referencedDeclaration": 4993,
                      "src": "7437:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4836_$returns$__$",
                        "typeString": "function (address,enum StdCheatsSafe.AddressType)"
                      }
                    },
                    "id": 5012,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7437:38:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5013,
                  "nodeType": "ExpressionStatement",
                  "src": "7437:38:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "assumeAddressIsNot",
            "nameLocation": "7277:18:5",
            "parameters": {
              "id": 5002,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4995,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "7304:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5015,
                  "src": "7296:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4994,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7296:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4998,
                  "mutability": "mutable",
                  "name": "addressType1",
                  "nameLocation": "7322:12:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5015,
                  "src": "7310:24:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_AddressType_$4836",
                    "typeString": "enum StdCheatsSafe.AddressType"
                  },
                  "typeName": {
                    "id": 4997,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4996,
                      "name": "AddressType",
                      "nameLocations": [
                        "7310:11:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4836,
                      "src": "7310:11:5"
                    },
                    "referencedDeclaration": 4836,
                    "src": "7310:11:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_AddressType_$4836",
                      "typeString": "enum StdCheatsSafe.AddressType"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5001,
                  "mutability": "mutable",
                  "name": "addressType2",
                  "nameLocation": "7348:12:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5015,
                  "src": "7336:24:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_AddressType_$4836",
                    "typeString": "enum StdCheatsSafe.AddressType"
                  },
                  "typeName": {
                    "id": 5000,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4999,
                      "name": "AddressType",
                      "nameLocations": [
                        "7336:11:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4836,
                      "src": "7336:11:5"
                    },
                    "referencedDeclaration": 4836,
                    "src": "7336:11:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_AddressType_$4836",
                      "typeString": "enum StdCheatsSafe.AddressType"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7295:66:5"
            },
            "returnParameters": {
              "id": 5003,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7379:0:5"
            },
            "scope": 6570,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5045,
            "nodeType": "FunctionDefinition",
            "src": "7488:326:5",
            "nodes": [],
            "body": {
              "id": 5044,
              "nodeType": "Block",
              "src": "7663:151:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5030,
                        "name": "addr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5017,
                        "src": "7692:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 5031,
                        "name": "addressType1",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5020,
                        "src": "7698:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      ],
                      "id": 5029,
                      "name": "assumeAddressIsNot",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4993,
                        5015,
                        5045,
                        5083
                      ],
                      "referencedDeclaration": 4993,
                      "src": "7673:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4836_$returns$__$",
                        "typeString": "function (address,enum StdCheatsSafe.AddressType)"
                      }
                    },
                    "id": 5032,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7673:38:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5033,
                  "nodeType": "ExpressionStatement",
                  "src": "7673:38:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5035,
                        "name": "addr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5017,
                        "src": "7740:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 5036,
                        "name": "addressType2",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5023,
                        "src": "7746:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      ],
                      "id": 5034,
                      "name": "assumeAddressIsNot",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4993,
                        5015,
                        5045,
                        5083
                      ],
                      "referencedDeclaration": 4993,
                      "src": "7721:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4836_$returns$__$",
                        "typeString": "function (address,enum StdCheatsSafe.AddressType)"
                      }
                    },
                    "id": 5037,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7721:38:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5038,
                  "nodeType": "ExpressionStatement",
                  "src": "7721:38:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5040,
                        "name": "addr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5017,
                        "src": "7788:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 5041,
                        "name": "addressType3",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5026,
                        "src": "7794:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      ],
                      "id": 5039,
                      "name": "assumeAddressIsNot",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4993,
                        5015,
                        5045,
                        5083
                      ],
                      "referencedDeclaration": 4993,
                      "src": "7769:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4836_$returns$__$",
                        "typeString": "function (address,enum StdCheatsSafe.AddressType)"
                      }
                    },
                    "id": 5042,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7769:38:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5043,
                  "nodeType": "ExpressionStatement",
                  "src": "7769:38:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "assumeAddressIsNot",
            "nameLocation": "7497:18:5",
            "parameters": {
              "id": 5027,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5017,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "7533:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5045,
                  "src": "7525:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5016,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7525:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5020,
                  "mutability": "mutable",
                  "name": "addressType1",
                  "nameLocation": "7559:12:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5045,
                  "src": "7547:24:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_AddressType_$4836",
                    "typeString": "enum StdCheatsSafe.AddressType"
                  },
                  "typeName": {
                    "id": 5019,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5018,
                      "name": "AddressType",
                      "nameLocations": [
                        "7547:11:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4836,
                      "src": "7547:11:5"
                    },
                    "referencedDeclaration": 4836,
                    "src": "7547:11:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_AddressType_$4836",
                      "typeString": "enum StdCheatsSafe.AddressType"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5023,
                  "mutability": "mutable",
                  "name": "addressType2",
                  "nameLocation": "7593:12:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5045,
                  "src": "7581:24:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_AddressType_$4836",
                    "typeString": "enum StdCheatsSafe.AddressType"
                  },
                  "typeName": {
                    "id": 5022,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5021,
                      "name": "AddressType",
                      "nameLocations": [
                        "7581:11:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4836,
                      "src": "7581:11:5"
                    },
                    "referencedDeclaration": 4836,
                    "src": "7581:11:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_AddressType_$4836",
                      "typeString": "enum StdCheatsSafe.AddressType"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5026,
                  "mutability": "mutable",
                  "name": "addressType3",
                  "nameLocation": "7627:12:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5045,
                  "src": "7615:24:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_AddressType_$4836",
                    "typeString": "enum StdCheatsSafe.AddressType"
                  },
                  "typeName": {
                    "id": 5025,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5024,
                      "name": "AddressType",
                      "nameLocations": [
                        "7615:11:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4836,
                      "src": "7615:11:5"
                    },
                    "referencedDeclaration": 4836,
                    "src": "7615:11:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_AddressType_$4836",
                      "typeString": "enum StdCheatsSafe.AddressType"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7515:130:5"
            },
            "returnParameters": {
              "id": 5028,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7663:0:5"
            },
            "scope": 6570,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5083,
            "nodeType": "FunctionDefinition",
            "src": "7820:408:5",
            "nodes": [],
            "body": {
              "id": 5082,
              "nodeType": "Block",
              "src": "8029:199:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5063,
                        "name": "addr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5047,
                        "src": "8058:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 5064,
                        "name": "addressType1",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5050,
                        "src": "8064:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      ],
                      "id": 5062,
                      "name": "assumeAddressIsNot",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4993,
                        5015,
                        5045,
                        5083
                      ],
                      "referencedDeclaration": 4993,
                      "src": "8039:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4836_$returns$__$",
                        "typeString": "function (address,enum StdCheatsSafe.AddressType)"
                      }
                    },
                    "id": 5065,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8039:38:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5066,
                  "nodeType": "ExpressionStatement",
                  "src": "8039:38:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5068,
                        "name": "addr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5047,
                        "src": "8106:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 5069,
                        "name": "addressType2",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5053,
                        "src": "8112:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      ],
                      "id": 5067,
                      "name": "assumeAddressIsNot",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4993,
                        5015,
                        5045,
                        5083
                      ],
                      "referencedDeclaration": 4993,
                      "src": "8087:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4836_$returns$__$",
                        "typeString": "function (address,enum StdCheatsSafe.AddressType)"
                      }
                    },
                    "id": 5070,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8087:38:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5071,
                  "nodeType": "ExpressionStatement",
                  "src": "8087:38:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5073,
                        "name": "addr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5047,
                        "src": "8154:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 5074,
                        "name": "addressType3",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5056,
                        "src": "8160:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      ],
                      "id": 5072,
                      "name": "assumeAddressIsNot",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4993,
                        5015,
                        5045,
                        5083
                      ],
                      "referencedDeclaration": 4993,
                      "src": "8135:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4836_$returns$__$",
                        "typeString": "function (address,enum StdCheatsSafe.AddressType)"
                      }
                    },
                    "id": 5075,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8135:38:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5076,
                  "nodeType": "ExpressionStatement",
                  "src": "8135:38:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5078,
                        "name": "addr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5047,
                        "src": "8202:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 5079,
                        "name": "addressType4",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5059,
                        "src": "8208:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_enum$_AddressType_$4836",
                          "typeString": "enum StdCheatsSafe.AddressType"
                        }
                      ],
                      "id": 5077,
                      "name": "assumeAddressIsNot",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4993,
                        5015,
                        5045,
                        5083
                      ],
                      "referencedDeclaration": 4993,
                      "src": "8183:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4836_$returns$__$",
                        "typeString": "function (address,enum StdCheatsSafe.AddressType)"
                      }
                    },
                    "id": 5080,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8183:38:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5081,
                  "nodeType": "ExpressionStatement",
                  "src": "8183:38:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "assumeAddressIsNot",
            "nameLocation": "7829:18:5",
            "parameters": {
              "id": 5060,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5047,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "7865:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5083,
                  "src": "7857:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5046,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7857:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5050,
                  "mutability": "mutable",
                  "name": "addressType1",
                  "nameLocation": "7891:12:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5083,
                  "src": "7879:24:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_AddressType_$4836",
                    "typeString": "enum StdCheatsSafe.AddressType"
                  },
                  "typeName": {
                    "id": 5049,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5048,
                      "name": "AddressType",
                      "nameLocations": [
                        "7879:11:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4836,
                      "src": "7879:11:5"
                    },
                    "referencedDeclaration": 4836,
                    "src": "7879:11:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_AddressType_$4836",
                      "typeString": "enum StdCheatsSafe.AddressType"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5053,
                  "mutability": "mutable",
                  "name": "addressType2",
                  "nameLocation": "7925:12:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5083,
                  "src": "7913:24:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_AddressType_$4836",
                    "typeString": "enum StdCheatsSafe.AddressType"
                  },
                  "typeName": {
                    "id": 5052,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5051,
                      "name": "AddressType",
                      "nameLocations": [
                        "7913:11:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4836,
                      "src": "7913:11:5"
                    },
                    "referencedDeclaration": 4836,
                    "src": "7913:11:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_AddressType_$4836",
                      "typeString": "enum StdCheatsSafe.AddressType"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5056,
                  "mutability": "mutable",
                  "name": "addressType3",
                  "nameLocation": "7959:12:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5083,
                  "src": "7947:24:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_AddressType_$4836",
                    "typeString": "enum StdCheatsSafe.AddressType"
                  },
                  "typeName": {
                    "id": 5055,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5054,
                      "name": "AddressType",
                      "nameLocations": [
                        "7947:11:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4836,
                      "src": "7947:11:5"
                    },
                    "referencedDeclaration": 4836,
                    "src": "7947:11:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_AddressType_$4836",
                      "typeString": "enum StdCheatsSafe.AddressType"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5059,
                  "mutability": "mutable",
                  "name": "addressType4",
                  "nameLocation": "7993:12:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5083,
                  "src": "7981:24:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_AddressType_$4836",
                    "typeString": "enum StdCheatsSafe.AddressType"
                  },
                  "typeName": {
                    "id": 5058,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5057,
                      "name": "AddressType",
                      "nameLocations": [
                        "7981:11:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4836,
                      "src": "7981:11:5"
                    },
                    "referencedDeclaration": 4836,
                    "src": "7981:11:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_AddressType_$4836",
                      "typeString": "enum StdCheatsSafe.AddressType"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7847:164:5"
            },
            "returnParameters": {
              "id": 5061,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8029:0:5"
            },
            "scope": 6570,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5156,
            "nodeType": "FunctionDefinition",
            "src": "8574:592:5",
            "nodes": [],
            "body": {
              "id": 5155,
              "nodeType": "Block",
              "src": "8631:535:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 5094,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 5091,
                            "name": "addr",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5085,
                            "src": "8662:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "id": 5092,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "8667:7:5",
                          "memberName": "balance",
                          "nodeType": "MemberAccess",
                          "src": "8662:12:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "id": 5093,
                          "name": "UINT256_MAX",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4544,
                          "src": "8677:11:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "8662:26:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "537464436865617473205f697350617961626c652861646472657373293a2042616c616e636520657175616c73206d61782075696e743235362c20736f2069742063616e6e6f74207265636569766520616e79206d6f72652066756e6473",
                        "id": 5095,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "8702:96:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_445086840f6c2a82b4d334ff6858d2a67c3cf8d1872260417f6ce3ed4fefcee6",
                          "typeString": "literal_string \"StdCheats _isPayable(address): Balance equals max uint256, so it cannot receive any more funds\""
                        },
                        "value": "StdCheats _isPayable(address): Balance equals max uint256, so it cannot receive any more funds"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_445086840f6c2a82b4d334ff6858d2a67c3cf8d1872260417f6ce3ed4fefcee6",
                          "typeString": "literal_string \"StdCheats _isPayable(address): Balance equals max uint256, so it cannot receive any more funds\""
                        }
                      ],
                      "id": 5090,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "8641:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5096,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8641:167:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5097,
                  "nodeType": "ExpressionStatement",
                  "src": "8641:167:5"
                },
                {
                  "assignments": [
                    5099
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5099,
                      "mutability": "mutable",
                      "name": "origBalanceTest",
                      "nameLocation": "8826:15:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5155,
                      "src": "8818:23:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5098,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "8818:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5105,
                  "initialValue": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 5102,
                          "name": "this",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -28,
                          "src": "8852:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_StdCheatsSafe_$6570",
                            "typeString": "contract StdCheatsSafe"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_contract$_StdCheatsSafe_$6570",
                            "typeString": "contract StdCheatsSafe"
                          }
                        ],
                        "id": 5101,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "8844:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": {
                          "id": 5100,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "8844:7:5",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 5103,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "8844:13:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 5104,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "8858:7:5",
                    "memberName": "balance",
                    "nodeType": "MemberAccess",
                    "src": "8844:21:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8818:47:5"
                },
                {
                  "assignments": [
                    5107
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5107,
                      "mutability": "mutable",
                      "name": "origBalanceAddr",
                      "nameLocation": "8883:15:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5155,
                      "src": "8875:23:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5106,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "8875:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5113,
                  "initialValue": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 5110,
                          "name": "addr",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5085,
                          "src": "8909:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 5109,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "8901:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": {
                          "id": 5108,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "8901:7:5",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 5111,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "8901:13:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 5112,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "8915:7:5",
                    "memberName": "balance",
                    "nodeType": "MemberAccess",
                    "src": "8901:21:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8875:47:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 5119,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -28,
                            "src": "8949:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_StdCheatsSafe_$6570",
                              "typeString": "contract StdCheatsSafe"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_StdCheatsSafe_$6570",
                              "typeString": "contract StdCheatsSafe"
                            }
                          ],
                          "id": 5118,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "8941:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 5117,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "8941:7:5",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 5120,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "8941:13:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "hexValue": "31",
                        "id": 5121,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "8956:1:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        }
                      ],
                      "expression": {
                        "id": 5114,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "8933:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5116,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8936:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13101,
                      "src": "8933:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 5122,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8933:25:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5123,
                  "nodeType": "ExpressionStatement",
                  "src": "8933:25:5"
                },
                {
                  "assignments": [
                    5125,
                    null
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5125,
                      "mutability": "mutable",
                      "name": "success",
                      "nameLocation": "8974:7:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5155,
                      "src": "8969:12:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 5124,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "8969:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "visibility": "internal"
                    },
                    null
                  ],
                  "id": 5135,
                  "initialValue": {
                    "arguments": [
                      {
                        "hexValue": "",
                        "id": 5133,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9015:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                          "typeString": "literal_string \"\""
                        },
                        "value": ""
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                          "typeString": "literal_string \"\""
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                            "typeString": "literal_string \"\""
                          }
                        ],
                        "expression": {
                          "arguments": [
                            {
                              "id": 5128,
                              "name": "addr",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5085,
                              "src": "8994:4:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 5127,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "8986:8:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_payable_$",
                              "typeString": "type(address payable)"
                            },
                            "typeName": {
                              "id": 5126,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "8986:8:5",
                              "stateMutability": "payable",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 5129,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8986:13:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          }
                        },
                        "id": 5130,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "9000:4:5",
                        "memberName": "call",
                        "nodeType": "MemberAccess",
                        "src": "8986:18:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                          "typeString": "function (bytes memory) payable returns (bool,bytes memory)"
                        }
                      },
                      "id": 5132,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "names": [
                        "value"
                      ],
                      "nodeType": "FunctionCallOptions",
                      "options": [
                        {
                          "hexValue": "31",
                          "id": 5131,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "9012:1:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        }
                      ],
                      "src": "8986:28:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value",
                        "typeString": "function (bytes memory) payable returns (bool,bytes memory)"
                      }
                    },
                    "id": 5134,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8986:32:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                      "typeString": "tuple(bool,bytes memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8968:50:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 5141,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -28,
                            "src": "9071:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_StdCheatsSafe_$6570",
                              "typeString": "contract StdCheatsSafe"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_StdCheatsSafe_$6570",
                              "typeString": "contract StdCheatsSafe"
                            }
                          ],
                          "id": 5140,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "9063:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 5139,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "9063:7:5",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 5142,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9063:13:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 5143,
                        "name": "origBalanceTest",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5099,
                        "src": "9078:15:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 5136,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "9055:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5138,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "9058:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13101,
                      "src": "9055:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 5144,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9055:39:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5145,
                  "nodeType": "ExpressionStatement",
                  "src": "9055:39:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5149,
                        "name": "addr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5085,
                        "src": "9112:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 5150,
                        "name": "origBalanceAddr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5107,
                        "src": "9118:15:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 5146,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "9104:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5148,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "9107:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13101,
                      "src": "9104:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 5151,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9104:30:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5152,
                  "nodeType": "ExpressionStatement",
                  "src": "9104:30:5"
                },
                {
                  "expression": {
                    "id": 5153,
                    "name": "success",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 5125,
                    "src": "9152:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 5089,
                  "id": 5154,
                  "nodeType": "Return",
                  "src": "9145:14:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_isPayable",
            "nameLocation": "8583:10:5",
            "parameters": {
              "id": 5086,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5085,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "8602:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5156,
                  "src": "8594:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5084,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8594:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8593:14:5"
            },
            "returnParameters": {
              "id": 5089,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5088,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 5156,
                  "src": "8625:4:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5087,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "8625:4:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8624:6:5"
            },
            "scope": 6570,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "private"
          },
          {
            "id": 5170,
            "nodeType": "FunctionDefinition",
            "src": "9417:98:5",
            "nodes": [],
            "body": {
              "id": 5169,
              "nodeType": "Block",
              "src": "9471:44:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 5165,
                            "name": "addr",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5158,
                            "src": "9502:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 5164,
                          "name": "_isPayable",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5156,
                          "src": "9491:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$",
                            "typeString": "function (address) returns (bool)"
                          }
                        },
                        "id": 5166,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9491:16:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "id": 5161,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "9481:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5163,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "9484:6:5",
                      "memberName": "assume",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12973,
                      "src": "9481:9:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure external"
                      }
                    },
                    "id": 5167,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9481:27:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5168,
                  "nodeType": "ExpressionStatement",
                  "src": "9481:27:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "assumePayable",
            "nameLocation": "9426:13:5",
            "parameters": {
              "id": 5159,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5158,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "9448:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5170,
                  "src": "9440:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5157,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "9440:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9439:14:5"
            },
            "returnParameters": {
              "id": 5160,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9471:0:5"
            },
            "scope": 6570,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5185,
            "nodeType": "FunctionDefinition",
            "src": "9521:102:5",
            "nodes": [],
            "body": {
              "id": 5184,
              "nodeType": "Block",
              "src": "9578:45:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5181,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "9598:17:5",
                        "subExpression": {
                          "arguments": [
                            {
                              "id": 5179,
                              "name": "addr",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5172,
                              "src": "9610:4:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 5178,
                            "name": "_isPayable",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5156,
                            "src": "9599:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$",
                              "typeString": "function (address) returns (bool)"
                            }
                          },
                          "id": 5180,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "9599:16:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "id": 5175,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "9588:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5177,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "9591:6:5",
                      "memberName": "assume",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12973,
                      "src": "9588:9:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure external"
                      }
                    },
                    "id": 5182,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9588:28:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5183,
                  "nodeType": "ExpressionStatement",
                  "src": "9588:28:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "assumeNotPayable",
            "nameLocation": "9530:16:5",
            "parameters": {
              "id": 5173,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5172,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "9555:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5185,
                  "src": "9547:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5171,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "9547:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9546:14:5"
            },
            "returnParameters": {
              "id": 5174,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9578:0:5"
            },
            "scope": 6570,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5202,
            "nodeType": "FunctionDefinition",
            "src": "9629:112:5",
            "nodes": [],
            "body": {
              "id": 5201,
              "nodeType": "Block",
              "src": "9695:46:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 5198,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 5193,
                          "name": "addr",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5187,
                          "src": "9715:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 5196,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "9731:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 5195,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "9723:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 5194,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "9723:7:5",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 5197,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "9723:10:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "9715:18:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "id": 5190,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "9705:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5192,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "9708:6:5",
                      "memberName": "assume",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12973,
                      "src": "9705:9:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure external"
                      }
                    },
                    "id": 5199,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9705:29:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5200,
                  "nodeType": "ExpressionStatement",
                  "src": "9705:29:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "assumeNotZeroAddress",
            "nameLocation": "9638:20:5",
            "parameters": {
              "id": 5188,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5187,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "9667:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5202,
                  "src": "9659:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5186,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "9659:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9658:14:5"
            },
            "returnParameters": {
              "id": 5189,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9695:0:5"
            },
            "scope": 6570,
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5214,
            "nodeType": "FunctionDefinition",
            "src": "9747:123:5",
            "nodes": [],
            "body": {
              "id": 5213,
              "nodeType": "Block",
              "src": "9812:58:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5208,
                        "name": "addr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5204,
                        "src": "9842:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 5209,
                          "name": "_pureChainId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6569,
                          "src": "9848:12:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_uint256_$",
                            "typeString": "function () pure returns (uint256)"
                          }
                        },
                        "id": 5210,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9848:14:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5207,
                      "name": "assumeNotPrecompile",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        5214,
                        5357
                      ],
                      "referencedDeclaration": 5357,
                      "src": "9822:19:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) pure"
                      }
                    },
                    "id": 5211,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9822:41:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5212,
                  "nodeType": "ExpressionStatement",
                  "src": "9822:41:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "assumeNotPrecompile",
            "nameLocation": "9756:19:5",
            "parameters": {
              "id": 5205,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5204,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "9784:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5214,
                  "src": "9776:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5203,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "9776:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9775:14:5"
            },
            "returnParameters": {
              "id": 5206,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9812:0:5"
            },
            "scope": 6570,
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5357,
            "nodeType": "FunctionDefinition",
            "src": "9876:1788:5",
            "nodes": [],
            "body": {
              "id": 5356,
              "nodeType": "Block",
              "src": "9958:1706:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 5236,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 5229,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 5224,
                            "name": "addr",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5216,
                            "src": "10256:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<",
                          "rightExpression": {
                            "arguments": [
                              {
                                "hexValue": "307831",
                                "id": 5227,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "10271:3:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                "value": "0x1"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                }
                              ],
                              "id": 5226,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "10263:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 5225,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "10263:7:5",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 5228,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10263:12:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "10256:19:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 5235,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 5230,
                            "name": "addr",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5216,
                            "src": "10279:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "arguments": [
                              {
                                "hexValue": "307839",
                                "id": 5233,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "10294:3:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_9_by_1",
                                  "typeString": "int_const 9"
                                },
                                "value": "0x9"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_9_by_1",
                                  "typeString": "int_const 9"
                                }
                              ],
                              "id": 5232,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "10286:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 5231,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "10286:7:5",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 5234,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10286:12:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "10279:19:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "10256:42:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "id": 5221,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "10246:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5223,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10249:6:5",
                      "memberName": "assume",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12973,
                      "src": "10246:9:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure external"
                      }
                    },
                    "id": 5237,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10246:53:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5238,
                  "nodeType": "ExpressionStatement",
                  "src": "10246:53:5"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 5245,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 5241,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 5239,
                        "name": "chainId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5218,
                        "src": "10349:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "hexValue": "3130",
                        "id": 5240,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "10360:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_10_by_1",
                          "typeString": "int_const 10"
                        },
                        "value": "10"
                      },
                      "src": "10349:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 5244,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 5242,
                        "name": "chainId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5218,
                        "src": "10366:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "hexValue": "343230",
                        "id": 5243,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "10377:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_420_by_1",
                          "typeString": "int_const 420"
                        },
                        "value": "420"
                      },
                      "src": "10366:14:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "10349:31:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 5271,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 5267,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 5265,
                          "name": "chainId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5218,
                          "src": "10698:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "hexValue": "3432313631",
                          "id": 5266,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "10709:5:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_42161_by_1",
                            "typeString": "int_const 42161"
                          },
                          "value": "42161"
                        },
                        "src": "10698:16:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "||",
                      "rightExpression": {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 5270,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 5268,
                          "name": "chainId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5218,
                          "src": "10718:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "hexValue": "343231363133",
                          "id": 5269,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "10729:6:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_421613_by_1",
                            "typeString": "int_const 421613"
                          },
                          "value": "421613"
                        },
                        "src": "10718:17:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "src": "10698:37:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 5297,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 5293,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 5291,
                            "name": "chainId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5218,
                            "src": "11012:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "hexValue": "3433313134",
                            "id": 5292,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "11023:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_43114_by_1",
                              "typeString": "int_const 43114"
                            },
                            "value": "43114"
                          },
                          "src": "11012:16:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 5296,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 5294,
                            "name": "chainId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5218,
                            "src": "11032:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "hexValue": "3433313133",
                            "id": 5295,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "11043:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_43113_by_1",
                              "typeString": "int_const 43113"
                            },
                            "value": "43113"
                          },
                          "src": "11032:16:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "11012:36:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 5353,
                      "nodeType": "IfStatement",
                      "src": "11008:617:5",
                      "trueBody": {
                        "id": 5352,
                        "nodeType": "Block",
                        "src": "11050:575:5",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "commonType": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "id": 5313,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    "id": 5306,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "id": 5301,
                                      "name": "addr",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5216,
                                      "src": "11203:4:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "<",
                                    "rightExpression": {
                                      "arguments": [
                                        {
                                          "hexValue": "307830313030303030303030303030303030303030303030303030303030303030303030303030303030",
                                          "id": 5304,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "11218:42:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          "value": "0x0100000000000000000000000000000000000000"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        ],
                                        "id": 5303,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "11210:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_address_$",
                                          "typeString": "type(address)"
                                        },
                                        "typeName": {
                                          "id": 5302,
                                          "name": "address",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "11210:7:5",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 5305,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "11210:51:5",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "src": "11203:58:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "||",
                                  "rightExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    "id": 5312,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "id": 5307,
                                      "name": "addr",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5216,
                                      "src": "11265:4:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": ">",
                                    "rightExpression": {
                                      "arguments": [
                                        {
                                          "hexValue": "307830313030303030303030303030303030303030303030303030303030303030303030303030306666",
                                          "id": 5310,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "11280:42:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          "value": "0x01000000000000000000000000000000000000ff"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        ],
                                        "id": 5309,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "11272:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_address_$",
                                          "typeString": "type(address)"
                                        },
                                        "typeName": {
                                          "id": 5308,
                                          "name": "address",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "11272:7:5",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 5311,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "11272:51:5",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "src": "11265:58:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "src": "11203:120:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                ],
                                "expression": {
                                  "id": 5298,
                                  "name": "vm",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4541,
                                  "src": "11193:2:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_Vm_$13464",
                                    "typeString": "contract Vm"
                                  }
                                },
                                "id": 5300,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11196:6:5",
                                "memberName": "assume",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 12973,
                                "src": "11193:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$",
                                  "typeString": "function (bool) pure external"
                                }
                              },
                              "id": 5314,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "11193:131:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 5315,
                            "nodeType": "ExpressionStatement",
                            "src": "11193:131:5"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "commonType": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "id": 5331,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    "id": 5324,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "id": 5319,
                                      "name": "addr",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5216,
                                      "src": "11348:4:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "<",
                                    "rightExpression": {
                                      "arguments": [
                                        {
                                          "hexValue": "307830323030303030303030303030303030303030303030303030303030303030303030303030303030",
                                          "id": 5322,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "11363:42:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          "value": "0x0200000000000000000000000000000000000000"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        ],
                                        "id": 5321,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "11355:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_address_$",
                                          "typeString": "type(address)"
                                        },
                                        "typeName": {
                                          "id": 5320,
                                          "name": "address",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "11355:7:5",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 5323,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "11355:51:5",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "src": "11348:58:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "||",
                                  "rightExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    "id": 5330,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "id": 5325,
                                      "name": "addr",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5216,
                                      "src": "11410:4:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": ">",
                                    "rightExpression": {
                                      "arguments": [
                                        {
                                          "hexValue": "307830323030303030303030303030303030303030303030303030303030303030303030303030304646",
                                          "id": 5328,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "11425:42:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          "value": "0x02000000000000000000000000000000000000FF"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        ],
                                        "id": 5327,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "11417:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_address_$",
                                          "typeString": "type(address)"
                                        },
                                        "typeName": {
                                          "id": 5326,
                                          "name": "address",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "11417:7:5",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 5329,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "11417:51:5",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "src": "11410:58:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "src": "11348:120:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                ],
                                "expression": {
                                  "id": 5316,
                                  "name": "vm",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4541,
                                  "src": "11338:2:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_Vm_$13464",
                                    "typeString": "contract Vm"
                                  }
                                },
                                "id": 5318,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11341:6:5",
                                "memberName": "assume",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 12973,
                                "src": "11338:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$",
                                  "typeString": "function (bool) pure external"
                                }
                              },
                              "id": 5332,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "11338:131:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 5333,
                            "nodeType": "ExpressionStatement",
                            "src": "11338:131:5"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "commonType": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "id": 5349,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    "id": 5342,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "id": 5337,
                                      "name": "addr",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5216,
                                      "src": "11493:4:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "<",
                                    "rightExpression": {
                                      "arguments": [
                                        {
                                          "hexValue": "307830333030303030303030303030303030303030303030303030303030303030303030303030303030",
                                          "id": 5340,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "11508:42:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          "value": "0x0300000000000000000000000000000000000000"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        ],
                                        "id": 5339,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "11500:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_address_$",
                                          "typeString": "type(address)"
                                        },
                                        "typeName": {
                                          "id": 5338,
                                          "name": "address",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "11500:7:5",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 5341,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "11500:51:5",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "src": "11493:58:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "||",
                                  "rightExpression": {
                                    "commonType": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    "id": 5348,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "id": 5343,
                                      "name": "addr",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5216,
                                      "src": "11555:4:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": ">",
                                    "rightExpression": {
                                      "arguments": [
                                        {
                                          "hexValue": "307830333030303030303030303030303030303030303030303030303030303030303030303030304666",
                                          "id": 5346,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "11570:42:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          "value": "0x03000000000000000000000000000000000000Ff"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        ],
                                        "id": 5345,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "11562:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_address_$",
                                          "typeString": "type(address)"
                                        },
                                        "typeName": {
                                          "id": 5344,
                                          "name": "address",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "11562:7:5",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 5347,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "11562:51:5",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    "src": "11555:58:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "src": "11493:120:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                ],
                                "expression": {
                                  "id": 5334,
                                  "name": "vm",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4541,
                                  "src": "11483:2:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_Vm_$13464",
                                    "typeString": "contract Vm"
                                  }
                                },
                                "id": 5336,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11486:6:5",
                                "memberName": "assume",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 12973,
                                "src": "11483:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$",
                                  "typeString": "function (bool) pure external"
                                }
                              },
                              "id": 5350,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "11483:131:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 5351,
                            "nodeType": "ExpressionStatement",
                            "src": "11483:131:5"
                          }
                        ]
                      }
                    },
                    "id": 5354,
                    "nodeType": "IfStatement",
                    "src": "10694:931:5",
                    "trueBody": {
                      "id": 5290,
                      "nodeType": "Block",
                      "src": "10737:265:5",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "commonType": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "id": 5287,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "commonType": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  "id": 5280,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "id": 5275,
                                    "name": "addr",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5216,
                                    "src": "10870:4:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "<",
                                  "rightExpression": {
                                    "arguments": [
                                      {
                                        "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303634",
                                        "id": 5278,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "10885:42:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        "value": "0x0000000000000000000000000000000000000064"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "id": 5277,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "10877:7:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_address_$",
                                        "typeString": "type(address)"
                                      },
                                      "typeName": {
                                        "id": 5276,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10877:7:5",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 5279,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "10877:51:5",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "src": "10870:58:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "||",
                                "rightExpression": {
                                  "commonType": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  "id": 5286,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "id": 5281,
                                    "name": "addr",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5216,
                                    "src": "10932:4:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": ">",
                                  "rightExpression": {
                                    "arguments": [
                                      {
                                        "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303638",
                                        "id": 5284,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "10947:42:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        "value": "0x0000000000000000000000000000000000000068"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "id": 5283,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "10939:7:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_address_$",
                                        "typeString": "type(address)"
                                      },
                                      "typeName": {
                                        "id": 5282,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10939:7:5",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 5285,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "10939:51:5",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "src": "10932:58:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "src": "10870:120:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "expression": {
                                "id": 5272,
                                "name": "vm",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4541,
                                "src": "10860:2:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_Vm_$13464",
                                  "typeString": "contract Vm"
                                }
                              },
                              "id": 5274,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "10863:6:5",
                              "memberName": "assume",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12973,
                              "src": "10860:9:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$",
                                "typeString": "function (bool) pure external"
                              }
                            },
                            "id": 5288,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10860:131:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 5289,
                          "nodeType": "ExpressionStatement",
                          "src": "10860:131:5"
                        }
                      ]
                    }
                  },
                  "id": 5355,
                  "nodeType": "IfStatement",
                  "src": "10345:1280:5",
                  "trueBody": {
                    "id": 5264,
                    "nodeType": "Block",
                    "src": "10382:306:5",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "id": 5261,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                "id": 5254,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "id": 5249,
                                  "name": "addr",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5216,
                                  "src": "10556:4:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "<",
                                "rightExpression": {
                                  "arguments": [
                                    {
                                      "hexValue": "307834323030303030303030303030303030303030303030303030303030303030303030303030303030",
                                      "id": 5252,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "10571:42:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      "value": "0x4200000000000000000000000000000000000000"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "id": 5251,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "10563:7:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_address_$",
                                      "typeString": "type(address)"
                                    },
                                    "typeName": {
                                      "id": 5250,
                                      "name": "address",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "10563:7:5",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 5253,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "10563:51:5",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "src": "10556:58:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "||",
                              "rightExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                "id": 5260,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "id": 5255,
                                  "name": "addr",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5216,
                                  "src": "10618:4:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": ">",
                                "rightExpression": {
                                  "arguments": [
                                    {
                                      "hexValue": "307834323030303030303030303030303030303030303030303030303030303030303030303030383030",
                                      "id": 5258,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "10633:42:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      "value": "0x4200000000000000000000000000000000000800"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "id": 5257,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "10625:7:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_address_$",
                                      "typeString": "type(address)"
                                    },
                                    "typeName": {
                                      "id": 5256,
                                      "name": "address",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "10625:7:5",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 5259,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "10625:51:5",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "src": "10618:58:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "src": "10556:120:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "expression": {
                              "id": 5246,
                              "name": "vm",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4541,
                              "src": "10546:2:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_Vm_$13464",
                                "typeString": "contract Vm"
                              }
                            },
                            "id": 5248,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "10549:6:5",
                            "memberName": "assume",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 12973,
                            "src": "10546:9:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure external"
                            }
                          },
                          "id": 5262,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10546:131:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5263,
                        "nodeType": "ExpressionStatement",
                        "src": "10546:131:5"
                      }
                    ]
                  }
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "assumeNotPrecompile",
            "nameLocation": "9885:19:5",
            "parameters": {
              "id": 5219,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5216,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "9913:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5357,
                  "src": "9905:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5215,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "9905:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5218,
                  "mutability": "mutable",
                  "name": "chainId",
                  "nameLocation": "9927:7:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5357,
                  "src": "9919:15:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5217,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9919:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9904:31:5"
            },
            "returnParameters": {
              "id": 5220,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9958:0:5"
            },
            "scope": 6570,
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5378,
            "nodeType": "FunctionDefinition",
            "src": "11670:204:5",
            "nodes": [],
            "body": {
              "id": 5377,
              "nodeType": "Block",
              "src": "11737:137:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 5374,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 5370,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 5365,
                            "name": "addr",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5359,
                            "src": "11793:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "arguments": [
                              {
                                "id": 5368,
                                "name": "vm",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4541,
                                "src": "11809:2:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_Vm_$13464",
                                  "typeString": "contract Vm"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Vm_$13464",
                                  "typeString": "contract Vm"
                                }
                              ],
                              "id": 5367,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "11801:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 5366,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "11801:7:5",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 5369,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "11801:11:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "11793:19:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 5373,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 5371,
                            "name": "addr",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5359,
                            "src": "11816:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "hexValue": "307830303030303030303030303030303030303036333646366537333646366336353265366336663637",
                            "id": 5372,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "11824:42:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "value": "0x000000000000000000636F6e736F6c652e6c6f67"
                          },
                          "src": "11816:50:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "11793:73:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "id": 5362,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "11783:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5364,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "11786:6:5",
                      "memberName": "assume",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12973,
                      "src": "11783:9:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure external"
                      }
                    },
                    "id": 5375,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11783:84:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5376,
                  "nodeType": "ExpressionStatement",
                  "src": "11783:84:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "assumeNotForgeAddress",
            "nameLocation": "11679:21:5",
            "parameters": {
              "id": 5360,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5359,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "11709:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5378,
                  "src": "11701:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5358,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "11701:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11700:14:5"
            },
            "returnParameters": {
              "id": 5361,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11737:0:5"
            },
            "scope": 6570,
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5470,
            "nodeType": "FunctionDefinition",
            "src": "11880:843:5",
            "nodes": [],
            "body": {
              "id": 5469,
              "nodeType": "Block",
              "src": "12032:691:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    5387
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5387,
                      "mutability": "mutable",
                      "name": "data",
                      "nameLocation": "12056:4:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5469,
                      "src": "12042:18:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 5386,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "12042:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5392,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5390,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5380,
                        "src": "12075:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 5388,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "12063:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5389,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12066:8:5",
                      "memberName": "readFile",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12392,
                      "src": "12063:11:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) view external returns (string memory)"
                      }
                    },
                    "id": 5391,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12063:17:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12042:38:5"
                },
                {
                  "assignments": [
                    5394
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5394,
                      "mutability": "mutable",
                      "name": "parsedData",
                      "nameLocation": "12103:10:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5469,
                      "src": "12090:23:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 5393,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "12090:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5399,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5397,
                        "name": "data",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5387,
                        "src": "12129:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 5395,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "12116:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5396,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12119:9:5",
                      "memberName": "parseJson",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12636,
                      "src": "12116:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (string memory) pure external returns (bytes memory)"
                      }
                    },
                    "id": 5398,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12116:18:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12090:44:5"
                },
                {
                  "assignments": [
                    5402
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5402,
                      "mutability": "mutable",
                      "name": "rawArtifact",
                      "nameLocation": "12176:11:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5469,
                      "src": "12144:43:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4778_memory_ptr",
                        "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact"
                      },
                      "typeName": {
                        "id": 5401,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 5400,
                          "name": "RawEIP1559ScriptArtifact",
                          "nameLocations": [
                            "12144:24:5"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 4778,
                          "src": "12144:24:5"
                        },
                        "referencedDeclaration": 4778,
                        "src": "12144:24:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4778_storage_ptr",
                          "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5409,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5405,
                        "name": "parsedData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5394,
                        "src": "12201:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "components": [
                          {
                            "id": 5406,
                            "name": "RawEIP1559ScriptArtifact",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4778,
                            "src": "12214:24:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_RawEIP1559ScriptArtifact_$4778_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"
                            }
                          }
                        ],
                        "id": 5407,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "12213:26:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_RawEIP1559ScriptArtifact_$4778_storage_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_type$_t_struct$_RawEIP1559ScriptArtifact_$4778_storage_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"
                        }
                      ],
                      "expression": {
                        "id": 5403,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "12190:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 5404,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "12194:6:5",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "12190:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 5408,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12190:50:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4778_memory_ptr",
                      "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12144:96:5"
                },
                {
                  "assignments": [
                    5412
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5412,
                      "mutability": "mutable",
                      "name": "artifact",
                      "nameLocation": "12279:8:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5469,
                      "src": "12250:37:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4755_memory_ptr",
                        "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact"
                      },
                      "typeName": {
                        "id": 5411,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 5410,
                          "name": "EIP1559ScriptArtifact",
                          "nameLocations": [
                            "12250:21:5"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 4755,
                          "src": "12250:21:5"
                        },
                        "referencedDeclaration": 4755,
                        "src": "12250:21:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4755_storage_ptr",
                          "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5413,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12250:37:5"
                },
                {
                  "expression": {
                    "id": 5419,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5414,
                        "name": "artifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5412,
                        "src": "12297:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4755_memory_ptr",
                          "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 5416,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "12306:9:5",
                      "memberName": "libraries",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4735,
                      "src": "12297:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5417,
                        "name": "rawArtifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5402,
                        "src": "12318:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4778_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 5418,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12330:9:5",
                      "memberName": "libraries",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4758,
                      "src": "12318:21:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "src": "12297:42:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                      "typeString": "string memory[] memory"
                    }
                  },
                  "id": 5420,
                  "nodeType": "ExpressionStatement",
                  "src": "12297:42:5"
                },
                {
                  "expression": {
                    "id": 5426,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5421,
                        "name": "artifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5412,
                        "src": "12349:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4755_memory_ptr",
                          "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 5423,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "12358:4:5",
                      "memberName": "path",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4737,
                      "src": "12349:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5424,
                        "name": "rawArtifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5402,
                        "src": "12365:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4778_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 5425,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12377:4:5",
                      "memberName": "path",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4760,
                      "src": "12365:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "12349:32:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "id": 5427,
                  "nodeType": "ExpressionStatement",
                  "src": "12349:32:5"
                },
                {
                  "expression": {
                    "id": 5433,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5428,
                        "name": "artifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5412,
                        "src": "12391:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4755_memory_ptr",
                          "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 5430,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "12400:9:5",
                      "memberName": "timestamp",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4746,
                      "src": "12391:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5431,
                        "name": "rawArtifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5402,
                        "src": "12412:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4778_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 5432,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12424:9:5",
                      "memberName": "timestamp",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4773,
                      "src": "12412:21:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "12391:42:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5434,
                  "nodeType": "ExpressionStatement",
                  "src": "12391:42:5"
                },
                {
                  "expression": {
                    "id": 5440,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5435,
                        "name": "artifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5412,
                        "src": "12443:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4755_memory_ptr",
                          "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 5437,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "12452:7:5",
                      "memberName": "pending",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4740,
                      "src": "12443:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5438,
                        "name": "rawArtifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5402,
                        "src": "12462:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4778_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 5439,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12474:7:5",
                      "memberName": "pending",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4763,
                      "src": "12462:19:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "src": "12443:38:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                      "typeString": "string memory[] memory"
                    }
                  },
                  "id": 5441,
                  "nodeType": "ExpressionStatement",
                  "src": "12443:38:5"
                },
                {
                  "expression": {
                    "id": 5447,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5442,
                        "name": "artifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5412,
                        "src": "12491:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4755_memory_ptr",
                          "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 5444,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "12500:9:5",
                      "memberName": "txReturns",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4754,
                      "src": "12491:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_TxReturn_$4825_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.TxReturn memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5445,
                        "name": "rawArtifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5402,
                        "src": "12512:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4778_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 5446,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12524:9:5",
                      "memberName": "txReturns",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4771,
                      "src": "12512:21:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_TxReturn_$4825_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.TxReturn memory[] memory"
                      }
                    },
                    "src": "12491:42:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_TxReturn_$4825_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.TxReturn memory[] memory"
                    }
                  },
                  "id": 5448,
                  "nodeType": "ExpressionStatement",
                  "src": "12491:42:5"
                },
                {
                  "expression": {
                    "id": 5456,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5449,
                        "name": "artifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5412,
                        "src": "12543:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4755_memory_ptr",
                          "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 5451,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "12552:8:5",
                      "memberName": "receipts",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4744,
                      "src": "12543:17:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Receipt_$4732_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Receipt memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 5453,
                            "name": "rawArtifact",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5402,
                            "src": "12586:11:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4778_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"
                            }
                          },
                          "id": 5454,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "12598:8:5",
                          "memberName": "receipts",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4767,
                          "src": "12586:20:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_RawReceipt_$4703_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_struct$_RawReceipt_$4703_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory"
                          }
                        ],
                        "id": 5452,
                        "name": "rawToConvertedReceipts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5902,
                        "src": "12563:22:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$4703_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$4732_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"
                        }
                      },
                      "id": 5455,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "12563:44:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Receipt_$4732_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Receipt memory[] memory"
                      }
                    },
                    "src": "12543:64:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Receipt_$4732_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt memory[] memory"
                    }
                  },
                  "id": 5457,
                  "nodeType": "ExpressionStatement",
                  "src": "12543:64:5"
                },
                {
                  "expression": {
                    "id": 5465,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5458,
                        "name": "artifact",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5412,
                        "src": "12617:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4755_memory_ptr",
                          "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory"
                        }
                      },
                      "id": 5460,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "12626:12:5",
                      "memberName": "transactions",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4750,
                      "src": "12617:21:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Tx1559_$4599_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 5462,
                            "name": "rawArtifact",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5402,
                            "src": "12666:11:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawEIP1559ScriptArtifact_$4778_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"
                            }
                          },
                          "id": 5463,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "12678:12:5",
                          "memberName": "transactions",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4777,
                          "src": "12666:24:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_RawTx1559_$4563_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_struct$_RawTx1559_$4563_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory"
                          }
                        ],
                        "id": 5461,
                        "name": "rawToConvertedEIPTx1559s",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5519,
                        "src": "12641:24:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$4563_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$4599_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"
                        }
                      },
                      "id": 5464,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "12641:50:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Tx1559_$4599_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory"
                      }
                    },
                    "src": "12617:74:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Tx1559_$4599_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory"
                    }
                  },
                  "id": 5466,
                  "nodeType": "ExpressionStatement",
                  "src": "12617:74:5"
                },
                {
                  "expression": {
                    "id": 5467,
                    "name": "artifact",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 5412,
                    "src": "12708:8:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4755_memory_ptr",
                      "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact memory"
                    }
                  },
                  "functionReturnParameters": 5385,
                  "id": 5468,
                  "nodeType": "Return",
                  "src": "12701:15:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "readEIP1559ScriptArtifact",
            "nameLocation": "11889:25:5",
            "parameters": {
              "id": 5381,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5380,
                  "mutability": "mutable",
                  "name": "path",
                  "nameLocation": "11929:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5470,
                  "src": "11915:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 5379,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "11915:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11914:20:5"
            },
            "returnParameters": {
              "id": 5385,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5384,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 5470,
                  "src": "11998:28:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4755_memory_ptr",
                    "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact"
                  },
                  "typeName": {
                    "id": 5383,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5382,
                      "name": "EIP1559ScriptArtifact",
                      "nameLocations": [
                        "11998:21:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4755,
                      "src": "11998:21:5"
                    },
                    "referencedDeclaration": 4755,
                    "src": "11998:21:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_EIP1559ScriptArtifact_$4755_storage_ptr",
                      "typeString": "struct StdCheatsSafe.EIP1559ScriptArtifact"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11997:30:5"
            },
            "scope": 6570,
            "stateMutability": "view",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5519,
            "nodeType": "FunctionDefinition",
            "src": "12729:312:5",
            "nodes": [],
            "body": {
              "id": 5518,
              "nodeType": "Block",
              "src": "12838:203:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    5485
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5485,
                      "mutability": "mutable",
                      "name": "txs",
                      "nameLocation": "12864:3:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5518,
                      "src": "12848:19:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Tx1559_$4599_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 5483,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 5482,
                            "name": "Tx1559",
                            "nameLocations": [
                              "12848:6:5"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 4599,
                            "src": "12848:6:5"
                          },
                          "referencedDeclaration": 4599,
                          "src": "12848:6:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Tx1559_$4599_storage_ptr",
                            "typeString": "struct StdCheatsSafe.Tx1559"
                          }
                        },
                        "id": 5484,
                        "nodeType": "ArrayTypeName",
                        "src": "12848:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Tx1559_$4599_storage_$dyn_storage_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5493,
                  "initialValue": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 5490,
                          "name": "rawTxs",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5474,
                          "src": "12883:6:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_RawTx1559_$4563_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory"
                          }
                        },
                        "id": 5491,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "12890:6:5",
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "src": "12883:13:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5489,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "12870:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Tx1559_$4599_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 5487,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 5486,
                            "name": "Tx1559",
                            "nameLocations": [
                              "12874:6:5"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 4599,
                            "src": "12874:6:5"
                          },
                          "referencedDeclaration": 4599,
                          "src": "12874:6:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Tx1559_$4599_storage_ptr",
                            "typeString": "struct StdCheatsSafe.Tx1559"
                          }
                        },
                        "id": 5488,
                        "nodeType": "ArrayTypeName",
                        "src": "12874:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Tx1559_$4599_storage_$dyn_storage_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559[]"
                        }
                      }
                    },
                    "id": 5492,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12870:27:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Tx1559_$4599_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12848:49:5"
                },
                {
                  "body": {
                    "id": 5514,
                    "nodeType": "Block",
                    "src": "12947:68:5",
                    "statements": [
                      {
                        "expression": {
                          "id": 5512,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 5504,
                              "name": "txs",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5485,
                              "src": "12961:3:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Tx1559_$4599_memory_ptr_$dyn_memory_ptr",
                                "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory"
                              }
                            },
                            "id": 5506,
                            "indexExpression": {
                              "id": 5505,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5495,
                              "src": "12965:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "12961:6:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Tx1559_$4599_memory_ptr",
                              "typeString": "struct StdCheatsSafe.Tx1559 memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "id": 5508,
                                  "name": "rawTxs",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5474,
                                  "src": "12994:6:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_struct$_RawTx1559_$4563_memory_ptr_$dyn_memory_ptr",
                                    "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory"
                                  }
                                },
                                "id": 5510,
                                "indexExpression": {
                                  "id": 5509,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5495,
                                  "src": "13001:1:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "12994:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RawTx1559_$4563_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_RawTx1559_$4563_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                                }
                              ],
                              "id": 5507,
                              "name": "rawToConvertedEIPTx1559",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5579,
                              "src": "12970:23:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_RawTx1559_$4563_memory_ptr_$returns$_t_struct$_Tx1559_$4599_memory_ptr_$",
                                "typeString": "function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)"
                              }
                            },
                            "id": 5511,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12970:34:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Tx1559_$4599_memory_ptr",
                              "typeString": "struct StdCheatsSafe.Tx1559 memory"
                            }
                          },
                          "src": "12961:43:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Tx1559_$4599_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Tx1559 memory"
                          }
                        },
                        "id": 5513,
                        "nodeType": "ExpressionStatement",
                        "src": "12961:43:5"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5500,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 5497,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5495,
                      "src": "12923:1:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 5498,
                        "name": "rawTxs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5474,
                        "src": "12927:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RawTx1559_$4563_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory"
                        }
                      },
                      "id": 5499,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "12934:6:5",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "12927:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "12923:17:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 5515,
                  "initializationExpression": {
                    "assignments": [
                      5495
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 5495,
                        "mutability": "mutable",
                        "name": "i",
                        "nameLocation": "12920:1:5",
                        "nodeType": "VariableDeclaration",
                        "scope": 5515,
                        "src": "12912:9:5",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 5494,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "12912:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 5496,
                    "nodeType": "VariableDeclarationStatement",
                    "src": "12912:9:5"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 5502,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "12942:3:5",
                      "subExpression": {
                        "id": 5501,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5495,
                        "src": "12942:1:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 5503,
                    "nodeType": "ExpressionStatement",
                    "src": "12942:3:5"
                  },
                  "nodeType": "ForStatement",
                  "src": "12907:108:5"
                },
                {
                  "expression": {
                    "id": 5516,
                    "name": "txs",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 5485,
                    "src": "13031:3:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Tx1559_$4599_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory"
                    }
                  },
                  "functionReturnParameters": 5480,
                  "id": 5517,
                  "nodeType": "Return",
                  "src": "13024:10:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rawToConvertedEIPTx1559s",
            "nameLocation": "12738:24:5",
            "parameters": {
              "id": 5475,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5474,
                  "mutability": "mutable",
                  "name": "rawTxs",
                  "nameLocation": "12782:6:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5519,
                  "src": "12763:25:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RawTx1559_$4563_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct StdCheatsSafe.RawTx1559[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 5472,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 5471,
                        "name": "RawTx1559",
                        "nameLocations": [
                          "12763:9:5"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 4563,
                        "src": "12763:9:5"
                      },
                      "referencedDeclaration": 4563,
                      "src": "12763:9:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RawTx1559_$4563_storage_ptr",
                        "typeString": "struct StdCheatsSafe.RawTx1559"
                      }
                    },
                    "id": 5473,
                    "nodeType": "ArrayTypeName",
                    "src": "12763:11:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RawTx1559_$4563_storage_$dyn_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawTx1559[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12762:27:5"
            },
            "returnParameters": {
              "id": 5480,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5479,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 5519,
                  "src": "12821:15:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_Tx1559_$4599_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Tx1559[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 5477,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 5476,
                        "name": "Tx1559",
                        "nameLocations": [
                          "12821:6:5"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 4599,
                        "src": "12821:6:5"
                      },
                      "referencedDeclaration": 4599,
                      "src": "12821:6:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Tx1559_$4599_storage_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559"
                      }
                    },
                    "id": 5478,
                    "nodeType": "ArrayTypeName",
                    "src": "12821:8:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Tx1559_$4599_storage_$dyn_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "12820:17:5"
            },
            "scope": 6570,
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5579,
            "nodeType": "FunctionDefinition",
            "src": "13047:488:5",
            "nodes": [],
            "body": {
              "id": 5578,
              "nodeType": "Block",
              "src": "13150:385:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    5530
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5530,
                      "mutability": "mutable",
                      "name": "transaction",
                      "nameLocation": "13174:11:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5578,
                      "src": "13160:25:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Tx1559_$4599_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559"
                      },
                      "typeName": {
                        "id": 5529,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 5528,
                          "name": "Tx1559",
                          "nameLocations": [
                            "13160:6:5"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 4599,
                          "src": "13160:6:5"
                        },
                        "referencedDeclaration": 4599,
                        "src": "13160:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559_$4599_storage_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5531,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "13160:25:5"
                },
                {
                  "expression": {
                    "id": 5537,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5532,
                        "name": "transaction",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5530,
                        "src": "13195:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559_$4599_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559 memory"
                        }
                      },
                      "id": 5534,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13207:9:5",
                      "memberName": "arguments",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4585,
                      "src": "13195:21:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5535,
                        "name": "rawTx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5522,
                        "src": "13219:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559_$4563_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                        }
                      },
                      "id": 5536,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13225:9:5",
                      "memberName": "arguments",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4549,
                      "src": "13219:15:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "src": "13195:39:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                      "typeString": "string memory[] memory"
                    }
                  },
                  "id": 5538,
                  "nodeType": "ExpressionStatement",
                  "src": "13195:39:5"
                },
                {
                  "expression": {
                    "id": 5544,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5539,
                        "name": "transaction",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5530,
                        "src": "13244:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559_$4599_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559 memory"
                        }
                      },
                      "id": 5541,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13256:12:5",
                      "memberName": "contractName",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4589,
                      "src": "13244:24:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5542,
                        "name": "rawTx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5522,
                        "src": "13271:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559_$4563_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                        }
                      },
                      "id": 5543,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13277:12:5",
                      "memberName": "contractName",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4553,
                      "src": "13271:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "13244:45:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "id": 5545,
                  "nodeType": "ExpressionStatement",
                  "src": "13244:45:5"
                },
                {
                  "expression": {
                    "id": 5551,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5546,
                        "name": "transaction",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5530,
                        "src": "13299:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559_$4599_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559 memory"
                        }
                      },
                      "id": 5548,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13311:11:5",
                      "memberName": "functionSig",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4591,
                      "src": "13299:23:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5549,
                        "name": "rawTx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5522,
                        "src": "13325:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559_$4563_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                        }
                      },
                      "id": 5550,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13331:11:5",
                      "memberName": "functionSig",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4555,
                      "src": "13325:17:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "13299:43:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "id": 5552,
                  "nodeType": "ExpressionStatement",
                  "src": "13299:43:5"
                },
                {
                  "expression": {
                    "id": 5558,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5553,
                        "name": "transaction",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5530,
                        "src": "13352:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559_$4599_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559 memory"
                        }
                      },
                      "id": 5555,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13364:4:5",
                      "memberName": "hash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4593,
                      "src": "13352:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5556,
                        "name": "rawTx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5522,
                        "src": "13371:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559_$4563_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                        }
                      },
                      "id": 5557,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13377:4:5",
                      "memberName": "hash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4557,
                      "src": "13371:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "13352:29:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 5559,
                  "nodeType": "ExpressionStatement",
                  "src": "13352:29:5"
                },
                {
                  "expression": {
                    "id": 5567,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5560,
                        "name": "transaction",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5530,
                        "src": "13391:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559_$4599_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559 memory"
                        }
                      },
                      "id": 5562,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13403:8:5",
                      "memberName": "txDetail",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4596,
                      "src": "13391:20:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Tx1559Detail_$4618_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 5564,
                            "name": "rawTx",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5522,
                            "src": "13442:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawTx1559_$4563_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                            }
                          },
                          "id": 5565,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "13448:8:5",
                          "memberName": "txDetail",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4560,
                          "src": "13442:14:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RawTx1559Detail_$4582_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_struct$_RawTx1559Detail_$4582_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                          }
                        ],
                        "id": 5563,
                        "name": "rawToConvertedEIP1559Detail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5659,
                        "src": "13414:27:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_struct$_RawTx1559Detail_$4582_memory_ptr_$returns$_t_struct$_Tx1559Detail_$4618_memory_ptr_$",
                          "typeString": "function (struct StdCheatsSafe.RawTx1559Detail memory) pure returns (struct StdCheatsSafe.Tx1559Detail memory)"
                        }
                      },
                      "id": 5566,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13414:43:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Tx1559Detail_$4618_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                      }
                    },
                    "src": "13391:66:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Tx1559Detail_$4618_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                    }
                  },
                  "id": 5568,
                  "nodeType": "ExpressionStatement",
                  "src": "13391:66:5"
                },
                {
                  "expression": {
                    "id": 5574,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5569,
                        "name": "transaction",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5530,
                        "src": "13467:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559_$4599_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559 memory"
                        }
                      },
                      "id": 5571,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13479:6:5",
                      "memberName": "opcode",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4598,
                      "src": "13467:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5572,
                        "name": "rawTx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5522,
                        "src": "13488:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559_$4563_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                        }
                      },
                      "id": 5573,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13494:6:5",
                      "memberName": "opcode",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4562,
                      "src": "13488:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "13467:33:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "id": 5575,
                  "nodeType": "ExpressionStatement",
                  "src": "13467:33:5"
                },
                {
                  "expression": {
                    "id": 5576,
                    "name": "transaction",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 5530,
                    "src": "13517:11:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Tx1559_$4599_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559 memory"
                    }
                  },
                  "functionReturnParameters": 5527,
                  "id": 5577,
                  "nodeType": "Return",
                  "src": "13510:18:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rawToConvertedEIPTx1559",
            "nameLocation": "13056:23:5",
            "parameters": {
              "id": 5523,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5522,
                  "mutability": "mutable",
                  "name": "rawTx",
                  "nameLocation": "13097:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5579,
                  "src": "13080:22:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RawTx1559_$4563_memory_ptr",
                    "typeString": "struct StdCheatsSafe.RawTx1559"
                  },
                  "typeName": {
                    "id": 5521,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5520,
                      "name": "RawTx1559",
                      "nameLocations": [
                        "13080:9:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4563,
                      "src": "13080:9:5"
                    },
                    "referencedDeclaration": 4563,
                    "src": "13080:9:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawTx1559_$4563_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawTx1559"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13079:24:5"
            },
            "returnParameters": {
              "id": 5527,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5526,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 5579,
                  "src": "13135:13:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Tx1559_$4599_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Tx1559"
                  },
                  "typeName": {
                    "id": 5525,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5524,
                      "name": "Tx1559",
                      "nameLocations": [
                        "13135:6:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4599,
                      "src": "13135:6:5"
                    },
                    "referencedDeclaration": 4599,
                    "src": "13135:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Tx1559_$4599_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13134:15:5"
            },
            "scope": 6570,
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5659,
            "nodeType": "FunctionDefinition",
            "src": "13541:619:5",
            "nodes": [],
            "body": {
              "id": 5658,
              "nodeType": "Block",
              "src": "13700:460:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    5590
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5590,
                      "mutability": "mutable",
                      "name": "txDetail",
                      "nameLocation": "13730:8:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5658,
                      "src": "13710:28:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Tx1559Detail_$4618_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559Detail"
                      },
                      "typeName": {
                        "id": 5589,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 5588,
                          "name": "Tx1559Detail",
                          "nameLocations": [
                            "13710:12:5"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 4618,
                          "src": "13710:12:5"
                        },
                        "referencedDeclaration": 4618,
                        "src": "13710:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$4618_storage_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5591,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "13710:28:5"
                },
                {
                  "expression": {
                    "id": 5597,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5592,
                        "name": "txDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5590,
                        "src": "13748:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$4618_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                        }
                      },
                      "id": 5594,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13757:4:5",
                      "memberName": "data",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4605,
                      "src": "13748:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5595,
                        "name": "rawDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5582,
                        "src": "13764:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559Detail_$4582_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                        }
                      },
                      "id": 5596,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13774:4:5",
                      "memberName": "data",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4569,
                      "src": "13764:14:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes memory"
                      }
                    },
                    "src": "13748:30:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "id": 5598,
                  "nodeType": "ExpressionStatement",
                  "src": "13748:30:5"
                },
                {
                  "expression": {
                    "id": 5604,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5599,
                        "name": "txDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5590,
                        "src": "13788:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$4618_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                        }
                      },
                      "id": 5601,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13797:4:5",
                      "memberName": "from",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4607,
                      "src": "13788:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5602,
                        "name": "rawDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5582,
                        "src": "13804:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559Detail_$4582_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                        }
                      },
                      "id": 5603,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13814:4:5",
                      "memberName": "from",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4571,
                      "src": "13804:14:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "13788:30:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 5605,
                  "nodeType": "ExpressionStatement",
                  "src": "13788:30:5"
                },
                {
                  "expression": {
                    "id": 5611,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5606,
                        "name": "txDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5590,
                        "src": "13828:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$4618_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                        }
                      },
                      "id": 5608,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13837:2:5",
                      "memberName": "to",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4613,
                      "src": "13828:11:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5609,
                        "name": "rawDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5582,
                        "src": "13842:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559Detail_$4582_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                        }
                      },
                      "id": 5610,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13852:2:5",
                      "memberName": "to",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4577,
                      "src": "13842:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "13828:26:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 5612,
                  "nodeType": "ExpressionStatement",
                  "src": "13828:26:5"
                },
                {
                  "expression": {
                    "id": 5620,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5613,
                        "name": "txDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5590,
                        "src": "13864:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$4618_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                        }
                      },
                      "id": 5615,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13873:5:5",
                      "memberName": "nonce",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4611,
                      "src": "13864:14:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 5617,
                            "name": "rawDetail",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5582,
                            "src": "13894:9:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawTx1559Detail_$4582_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                            }
                          },
                          "id": 5618,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "13904:5:5",
                          "memberName": "nonce",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4575,
                          "src": "13894:15:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 5616,
                        "name": "_bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6462,
                        "src": "13881:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 5619,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13881:29:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "13864:46:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5621,
                  "nodeType": "ExpressionStatement",
                  "src": "13864:46:5"
                },
                {
                  "expression": {
                    "id": 5629,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5622,
                        "name": "txDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5590,
                        "src": "13920:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$4618_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                        }
                      },
                      "id": 5624,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13929:6:5",
                      "memberName": "txType",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4615,
                      "src": "13920:15:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 5626,
                            "name": "rawDetail",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5582,
                            "src": "13951:9:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawTx1559Detail_$4582_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                            }
                          },
                          "id": 5627,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "13961:6:5",
                          "memberName": "txType",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4579,
                          "src": "13951:16:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 5625,
                        "name": "_bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6462,
                        "src": "13938:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 5628,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13938:30:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "13920:48:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5630,
                  "nodeType": "ExpressionStatement",
                  "src": "13920:48:5"
                },
                {
                  "expression": {
                    "id": 5638,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5631,
                        "name": "txDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5590,
                        "src": "13978:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$4618_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                        }
                      },
                      "id": 5633,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "13987:5:5",
                      "memberName": "value",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4617,
                      "src": "13978:14:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 5635,
                            "name": "rawDetail",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5582,
                            "src": "14008:9:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawTx1559Detail_$4582_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                            }
                          },
                          "id": 5636,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "14018:5:5",
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4581,
                          "src": "14008:15:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 5634,
                        "name": "_bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6462,
                        "src": "13995:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 5637,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13995:29:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "13978:46:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5639,
                  "nodeType": "ExpressionStatement",
                  "src": "13978:46:5"
                },
                {
                  "expression": {
                    "id": 5647,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5640,
                        "name": "txDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5590,
                        "src": "14034:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$4618_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                        }
                      },
                      "id": 5642,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14043:3:5",
                      "memberName": "gas",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4609,
                      "src": "14034:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 5644,
                            "name": "rawDetail",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5582,
                            "src": "14062:9:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawTx1559Detail_$4582_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                            }
                          },
                          "id": 5645,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "14072:3:5",
                          "memberName": "gas",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4573,
                          "src": "14062:13:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 5643,
                        "name": "_bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6462,
                        "src": "14049:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 5646,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "14049:27:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "14034:42:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5648,
                  "nodeType": "ExpressionStatement",
                  "src": "14034:42:5"
                },
                {
                  "expression": {
                    "id": 5654,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5649,
                        "name": "txDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5590,
                        "src": "14086:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Tx1559Detail_$4618_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                        }
                      },
                      "id": 5651,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "14095:10:5",
                      "memberName": "accessList",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4603,
                      "src": "14086:19:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_AccessList_$4674_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.AccessList memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5652,
                        "name": "rawDetail",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5582,
                        "src": "14108:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559Detail_$4582_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559Detail memory"
                        }
                      },
                      "id": 5653,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14118:10:5",
                      "memberName": "accessList",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4567,
                      "src": "14108:20:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_AccessList_$4674_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.AccessList memory[] memory"
                      }
                    },
                    "src": "14086:42:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_AccessList_$4674_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.AccessList memory[] memory"
                    }
                  },
                  "id": 5655,
                  "nodeType": "ExpressionStatement",
                  "src": "14086:42:5"
                },
                {
                  "expression": {
                    "id": 5656,
                    "name": "txDetail",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 5590,
                    "src": "14145:8:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Tx1559Detail_$4618_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559Detail memory"
                    }
                  },
                  "functionReturnParameters": 5587,
                  "id": 5657,
                  "nodeType": "Return",
                  "src": "14138:15:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rawToConvertedEIP1559Detail",
            "nameLocation": "13550:27:5",
            "parameters": {
              "id": 5583,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5582,
                  "mutability": "mutable",
                  "name": "rawDetail",
                  "nameLocation": "13601:9:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5659,
                  "src": "13578:32:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RawTx1559Detail_$4582_memory_ptr",
                    "typeString": "struct StdCheatsSafe.RawTx1559Detail"
                  },
                  "typeName": {
                    "id": 5581,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5580,
                      "name": "RawTx1559Detail",
                      "nameLocations": [
                        "13578:15:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4582,
                      "src": "13578:15:5"
                    },
                    "referencedDeclaration": 4582,
                    "src": "13578:15:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawTx1559Detail_$4582_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawTx1559Detail"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13577:34:5"
            },
            "returnParameters": {
              "id": 5587,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5586,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 5659,
                  "src": "13675:19:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Tx1559Detail_$4618_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Tx1559Detail"
                  },
                  "typeName": {
                    "id": 5585,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5584,
                      "name": "Tx1559Detail",
                      "nameLocations": [
                        "13675:12:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4618,
                      "src": "13675:12:5"
                    },
                    "referencedDeclaration": 4618,
                    "src": "13675:12:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Tx1559Detail_$4618_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559Detail"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13674:21:5"
            },
            "scope": 6570,
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5701,
            "nodeType": "FunctionDefinition",
            "src": "14166:363:5",
            "nodes": [],
            "body": {
              "id": 5700,
              "nodeType": "Block",
              "src": "14255:274:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    5669
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5669,
                      "mutability": "mutable",
                      "name": "deployData",
                      "nameLocation": "14279:10:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5700,
                      "src": "14265:24:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 5668,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "14265:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5674,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5672,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5661,
                        "src": "14304:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 5670,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "14292:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5671,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14295:8:5",
                      "memberName": "readFile",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12392,
                      "src": "14292:11:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) view external returns (string memory)"
                      }
                    },
                    "id": 5673,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14292:17:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14265:44:5"
                },
                {
                  "assignments": [
                    5676
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5676,
                      "mutability": "mutable",
                      "name": "parsedDeployData",
                      "nameLocation": "14332:16:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5700,
                      "src": "14319:29:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 5675,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "14319:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5682,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5679,
                        "name": "deployData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5669,
                        "src": "14364:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "hexValue": "2e7472616e73616374696f6e73",
                        "id": 5680,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "14376:15:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_9b594723e6093f4c1c210e08bcd523373e89874e267b69a9d9a7cb17952e3049",
                          "typeString": "literal_string \".transactions\""
                        },
                        "value": ".transactions"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_9b594723e6093f4c1c210e08bcd523373e89874e267b69a9d9a7cb17952e3049",
                          "typeString": "literal_string \".transactions\""
                        }
                      ],
                      "expression": {
                        "id": 5677,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "14351:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5678,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14354:9:5",
                      "memberName": "parseJson",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12629,
                      "src": "14351:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (string memory,string memory) pure external returns (bytes memory)"
                      }
                    },
                    "id": 5681,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14351:41:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14319:73:5"
                },
                {
                  "assignments": [
                    5687
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5687,
                      "mutability": "mutable",
                      "name": "rawTxs",
                      "nameLocation": "14421:6:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5700,
                      "src": "14402:25:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_RawTx1559_$4563_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.RawTx1559[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 5685,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 5684,
                            "name": "RawTx1559",
                            "nameLocations": [
                              "14402:9:5"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 4563,
                            "src": "14402:9:5"
                          },
                          "referencedDeclaration": 4563,
                          "src": "14402:9:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RawTx1559_$4563_storage_ptr",
                            "typeString": "struct StdCheatsSafe.RawTx1559"
                          }
                        },
                        "id": 5686,
                        "nodeType": "ArrayTypeName",
                        "src": "14402:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RawTx1559_$4563_storage_$dyn_storage_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5695,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5690,
                        "name": "parsedDeployData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5676,
                        "src": "14441:16:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "components": [
                          {
                            "baseExpression": {
                              "id": 5691,
                              "name": "RawTx1559",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4563,
                              "src": "14460:9:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_RawTx1559_$4563_storage_ptr_$",
                                "typeString": "type(struct StdCheatsSafe.RawTx1559 storage pointer)"
                              }
                            },
                            "id": 5692,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "14460:11:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_array$_t_struct$_RawTx1559_$4563_memory_ptr_$dyn_memory_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.RawTx1559 memory[] memory)"
                            }
                          }
                        ],
                        "id": 5693,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "14459:13:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_array$_t_struct$_RawTx1559_$4563_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawTx1559 memory[] memory)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_type$_t_array$_t_struct$_RawTx1559_$4563_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawTx1559 memory[] memory)"
                        }
                      ],
                      "expression": {
                        "id": 5688,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "14430:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 5689,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "14434:6:5",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "14430:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 5694,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14430:43:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RawTx1559_$4563_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14402:71:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5697,
                        "name": "rawTxs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5687,
                        "src": "14515:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RawTx1559_$4563_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_struct$_RawTx1559_$4563_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory[] memory"
                        }
                      ],
                      "id": 5696,
                      "name": "rawToConvertedEIPTx1559s",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5519,
                      "src": "14490:24:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$4563_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$4599_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"
                      }
                    },
                    "id": 5698,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14490:32:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Tx1559_$4599_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559 memory[] memory"
                    }
                  },
                  "functionReturnParameters": 5667,
                  "id": 5699,
                  "nodeType": "Return",
                  "src": "14483:39:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "readTx1559s",
            "nameLocation": "14175:11:5",
            "parameters": {
              "id": 5662,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5661,
                  "mutability": "mutable",
                  "name": "path",
                  "nameLocation": "14201:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5701,
                  "src": "14187:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 5660,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "14187:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14186:20:5"
            },
            "returnParameters": {
              "id": 5667,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5666,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 5701,
                  "src": "14238:15:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_Tx1559_$4599_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Tx1559[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 5664,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 5663,
                        "name": "Tx1559",
                        "nameLocations": [
                          "14238:6:5"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 4599,
                        "src": "14238:6:5"
                      },
                      "referencedDeclaration": 4599,
                      "src": "14238:6:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Tx1559_$4599_storage_ptr",
                        "typeString": "struct StdCheatsSafe.Tx1559"
                      }
                    },
                    "id": 5665,
                    "nodeType": "ArrayTypeName",
                    "src": "14238:8:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Tx1559_$4599_storage_$dyn_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14237:17:5"
            },
            "scope": 6570,
            "stateMutability": "view",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5756,
            "nodeType": "FunctionDefinition",
            "src": "14535:453:5",
            "nodes": [],
            "body": {
              "id": 5755,
              "nodeType": "Block",
              "src": "14636:352:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    5712
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5712,
                      "mutability": "mutable",
                      "name": "deployData",
                      "nameLocation": "14660:10:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5755,
                      "src": "14646:24:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 5711,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "14646:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5717,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5715,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5703,
                        "src": "14685:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 5713,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "14673:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5714,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14676:8:5",
                      "memberName": "readFile",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12392,
                      "src": "14673:11:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) view external returns (string memory)"
                      }
                    },
                    "id": 5716,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14673:17:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14646:44:5"
                },
                {
                  "assignments": [
                    5719
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5719,
                      "mutability": "mutable",
                      "name": "key",
                      "nameLocation": "14714:3:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5755,
                      "src": "14700:17:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 5718,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "14700:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5732,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "hexValue": "2e7472616e73616374696f6e735b",
                            "id": 5724,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "14744:16:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c",
                              "typeString": "literal_string \".transactions[\""
                            },
                            "value": ".transactions["
                          },
                          {
                            "arguments": [
                              {
                                "id": 5727,
                                "name": "index",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5705,
                                "src": "14774:5:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "id": 5725,
                                "name": "vm",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4541,
                                "src": "14762:2:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_Vm_$13464",
                                  "typeString": "contract Vm"
                                }
                              },
                              "id": 5726,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "14765:8:5",
                              "memberName": "toString",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12534,
                              "src": "14762:11:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (uint256) pure external returns (string memory)"
                              }
                            },
                            "id": 5728,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "14762:18:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "hexValue": "5d",
                            "id": 5729,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "14782:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29",
                              "typeString": "literal_string \"]\""
                            },
                            "value": "]"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c",
                              "typeString": "literal_string \".transactions[\""
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29",
                              "typeString": "literal_string \"]\""
                            }
                          ],
                          "expression": {
                            "id": 5722,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "14727:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 5723,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "14731:12:5",
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "src": "14727:16:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 5730,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "14727:59:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 5721,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "14720:6:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": {
                        "id": 5720,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "14720:6:5",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 5731,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14720:67:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14700:87:5"
                },
                {
                  "assignments": [
                    5734
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5734,
                      "mutability": "mutable",
                      "name": "parsedDeployData",
                      "nameLocation": "14810:16:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5755,
                      "src": "14797:29:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 5733,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "14797:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5740,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5737,
                        "name": "deployData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5712,
                        "src": "14842:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "id": 5738,
                        "name": "key",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5719,
                        "src": "14854:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 5735,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "14829:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5736,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14832:9:5",
                      "memberName": "parseJson",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12629,
                      "src": "14829:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (string memory,string memory) pure external returns (bytes memory)"
                      }
                    },
                    "id": 5739,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14829:29:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14797:61:5"
                },
                {
                  "assignments": [
                    5743
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5743,
                      "mutability": "mutable",
                      "name": "rawTx",
                      "nameLocation": "14885:5:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5755,
                      "src": "14868:22:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RawTx1559_$4563_memory_ptr",
                        "typeString": "struct StdCheatsSafe.RawTx1559"
                      },
                      "typeName": {
                        "id": 5742,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 5741,
                          "name": "RawTx1559",
                          "nameLocations": [
                            "14868:9:5"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 4563,
                          "src": "14868:9:5"
                        },
                        "referencedDeclaration": 4563,
                        "src": "14868:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559_$4563_storage_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5750,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5746,
                        "name": "parsedDeployData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5734,
                        "src": "14904:16:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "components": [
                          {
                            "id": 5747,
                            "name": "RawTx1559",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4563,
                            "src": "14923:9:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_RawTx1559_$4563_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.RawTx1559 storage pointer)"
                            }
                          }
                        ],
                        "id": 5748,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "14922:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_RawTx1559_$4563_storage_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawTx1559 storage pointer)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_type$_t_struct$_RawTx1559_$4563_storage_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawTx1559 storage pointer)"
                        }
                      ],
                      "expression": {
                        "id": 5744,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "14893:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 5745,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "14897:6:5",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "14893:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 5749,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14893:41:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawTx1559_$4563_memory_ptr",
                      "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14868:66:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5752,
                        "name": "rawTx",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5743,
                        "src": "14975:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawTx1559_$4563_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_RawTx1559_$4563_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawTx1559 memory"
                        }
                      ],
                      "id": 5751,
                      "name": "rawToConvertedEIPTx1559",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5579,
                      "src": "14951:23:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_RawTx1559_$4563_memory_ptr_$returns$_t_struct$_Tx1559_$4599_memory_ptr_$",
                        "typeString": "function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)"
                      }
                    },
                    "id": 5753,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "14951:30:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Tx1559_$4599_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559 memory"
                    }
                  },
                  "functionReturnParameters": 5710,
                  "id": 5754,
                  "nodeType": "Return",
                  "src": "14944:37:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "readTx1559",
            "nameLocation": "14544:10:5",
            "parameters": {
              "id": 5706,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5703,
                  "mutability": "mutable",
                  "name": "path",
                  "nameLocation": "14569:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5756,
                  "src": "14555:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 5702,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "14555:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5705,
                  "mutability": "mutable",
                  "name": "index",
                  "nameLocation": "14583:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5756,
                  "src": "14575:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5704,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "14575:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14554:35:5"
            },
            "returnParameters": {
              "id": 5710,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5709,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 5756,
                  "src": "14621:13:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Tx1559_$4599_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Tx1559"
                  },
                  "typeName": {
                    "id": 5708,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5707,
                      "name": "Tx1559",
                      "nameLocations": [
                        "14621:6:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4599,
                      "src": "14621:6:5"
                    },
                    "referencedDeclaration": 4599,
                    "src": "14621:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Tx1559_$4599_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Tx1559"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14620:15:5"
            },
            "scope": 6570,
            "stateMutability": "view",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5798,
            "nodeType": "FunctionDefinition",
            "src": "15050:371:5",
            "nodes": [],
            "body": {
              "id": 5797,
              "nodeType": "Block",
              "src": "15141:280:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    5766
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5766,
                      "mutability": "mutable",
                      "name": "deployData",
                      "nameLocation": "15165:10:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5797,
                      "src": "15151:24:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 5765,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "15151:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5771,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5769,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5758,
                        "src": "15190:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 5767,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "15178:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5768,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15181:8:5",
                      "memberName": "readFile",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12392,
                      "src": "15178:11:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) view external returns (string memory)"
                      }
                    },
                    "id": 5770,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15178:17:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15151:44:5"
                },
                {
                  "assignments": [
                    5773
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5773,
                      "mutability": "mutable",
                      "name": "parsedDeployData",
                      "nameLocation": "15218:16:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5797,
                      "src": "15205:29:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 5772,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "15205:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5779,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5776,
                        "name": "deployData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5766,
                        "src": "15250:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "hexValue": "2e7265636569707473",
                        "id": 5777,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "15262:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_29a5d3664a45019923b250b65c7d5b7f8c019d3960761fa9ca59b9001f893261",
                          "typeString": "literal_string \".receipts\""
                        },
                        "value": ".receipts"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_29a5d3664a45019923b250b65c7d5b7f8c019d3960761fa9ca59b9001f893261",
                          "typeString": "literal_string \".receipts\""
                        }
                      ],
                      "expression": {
                        "id": 5774,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "15237:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5775,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15240:9:5",
                      "memberName": "parseJson",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12629,
                      "src": "15237:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (string memory,string memory) pure external returns (bytes memory)"
                      }
                    },
                    "id": 5778,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15237:37:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15205:69:5"
                },
                {
                  "assignments": [
                    5784
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5784,
                      "mutability": "mutable",
                      "name": "rawReceipts",
                      "nameLocation": "15304:11:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5797,
                      "src": "15284:31:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_RawReceipt_$4703_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.RawReceipt[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 5782,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 5781,
                            "name": "RawReceipt",
                            "nameLocations": [
                              "15284:10:5"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 4703,
                            "src": "15284:10:5"
                          },
                          "referencedDeclaration": 4703,
                          "src": "15284:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RawReceipt_$4703_storage_ptr",
                            "typeString": "struct StdCheatsSafe.RawReceipt"
                          }
                        },
                        "id": 5783,
                        "nodeType": "ArrayTypeName",
                        "src": "15284:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RawReceipt_$4703_storage_$dyn_storage_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5792,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5787,
                        "name": "parsedDeployData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5773,
                        "src": "15329:16:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "components": [
                          {
                            "baseExpression": {
                              "id": 5788,
                              "name": "RawReceipt",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4703,
                              "src": "15348:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_RawReceipt_$4703_storage_ptr_$",
                                "typeString": "type(struct StdCheatsSafe.RawReceipt storage pointer)"
                              }
                            },
                            "id": 5789,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "15348:12:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_array$_t_struct$_RawReceipt_$4703_memory_ptr_$dyn_memory_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.RawReceipt memory[] memory)"
                            }
                          }
                        ],
                        "id": 5790,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "15347:14:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_array$_t_struct$_RawReceipt_$4703_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawReceipt memory[] memory)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_type$_t_array$_t_struct$_RawReceipt_$4703_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawReceipt memory[] memory)"
                        }
                      ],
                      "expression": {
                        "id": 5785,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "15318:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 5786,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "15322:6:5",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "15318:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 5791,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15318:44:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RawReceipt_$4703_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15284:78:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5794,
                        "name": "rawReceipts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5784,
                        "src": "15402:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RawReceipt_$4703_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_struct$_RawReceipt_$4703_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory"
                        }
                      ],
                      "id": 5793,
                      "name": "rawToConvertedReceipts",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5902,
                      "src": "15379:22:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$4703_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$4732_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"
                      }
                    },
                    "id": 5795,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15379:35:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Receipt_$4732_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt memory[] memory"
                    }
                  },
                  "functionReturnParameters": 5764,
                  "id": 5796,
                  "nodeType": "Return",
                  "src": "15372:42:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "readReceipts",
            "nameLocation": "15059:12:5",
            "parameters": {
              "id": 5759,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5758,
                  "mutability": "mutable",
                  "name": "path",
                  "nameLocation": "15086:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5798,
                  "src": "15072:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 5757,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "15072:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15071:20:5"
            },
            "returnParameters": {
              "id": 5764,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5763,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 5798,
                  "src": "15123:16:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_Receipt_$4732_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Receipt[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 5761,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 5760,
                        "name": "Receipt",
                        "nameLocations": [
                          "15123:7:5"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 4732,
                        "src": "15123:7:5"
                      },
                      "referencedDeclaration": 4732,
                      "src": "15123:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Receipt_$4732_storage_ptr",
                        "typeString": "struct StdCheatsSafe.Receipt"
                      }
                    },
                    "id": 5762,
                    "nodeType": "ArrayTypeName",
                    "src": "15123:9:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Receipt_$4732_storage_$dyn_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15122:18:5"
            },
            "scope": 6570,
            "stateMutability": "view",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5853,
            "nodeType": "FunctionDefinition",
            "src": "15427:461:5",
            "nodes": [],
            "body": {
              "id": 5852,
              "nodeType": "Block",
              "src": "15530:358:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    5809
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5809,
                      "mutability": "mutable",
                      "name": "deployData",
                      "nameLocation": "15554:10:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5852,
                      "src": "15540:24:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 5808,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "15540:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5814,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5812,
                        "name": "path",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5800,
                        "src": "15579:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 5810,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "15567:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5811,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15570:8:5",
                      "memberName": "readFile",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12392,
                      "src": "15567:11:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) view external returns (string memory)"
                      }
                    },
                    "id": 5813,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15567:17:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15540:44:5"
                },
                {
                  "assignments": [
                    5816
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5816,
                      "mutability": "mutable",
                      "name": "key",
                      "nameLocation": "15608:3:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5852,
                      "src": "15594:17:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 5815,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "15594:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5829,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "hexValue": "2e72656365697074735b",
                            "id": 5821,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "15638:12:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170",
                              "typeString": "literal_string \".receipts[\""
                            },
                            "value": ".receipts["
                          },
                          {
                            "arguments": [
                              {
                                "id": 5824,
                                "name": "index",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5802,
                                "src": "15664:5:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "id": 5822,
                                "name": "vm",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4541,
                                "src": "15652:2:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_Vm_$13464",
                                  "typeString": "contract Vm"
                                }
                              },
                              "id": 5823,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "15655:8:5",
                              "memberName": "toString",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 12534,
                              "src": "15652:11:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (uint256) pure external returns (string memory)"
                              }
                            },
                            "id": 5825,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "15652:18:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "hexValue": "5d",
                            "id": 5826,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "15672:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29",
                              "typeString": "literal_string \"]\""
                            },
                            "value": "]"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170",
                              "typeString": "literal_string \".receipts[\""
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29",
                              "typeString": "literal_string \"]\""
                            }
                          ],
                          "expression": {
                            "id": 5819,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "15621:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 5820,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "15625:12:5",
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "src": "15621:16:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 5827,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "15621:55:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 5818,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "15614:6:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": {
                        "id": 5817,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "15614:6:5",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 5828,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15614:63:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15594:83:5"
                },
                {
                  "assignments": [
                    5831
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5831,
                      "mutability": "mutable",
                      "name": "parsedDeployData",
                      "nameLocation": "15700:16:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5852,
                      "src": "15687:29:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 5830,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "15687:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5837,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5834,
                        "name": "deployData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5809,
                        "src": "15732:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "id": 5835,
                        "name": "key",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5816,
                        "src": "15744:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 5832,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "15719:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 5833,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15722:9:5",
                      "memberName": "parseJson",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12629,
                      "src": "15719:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (string memory,string memory) pure external returns (bytes memory)"
                      }
                    },
                    "id": 5836,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15719:29:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15687:61:5"
                },
                {
                  "assignments": [
                    5840
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5840,
                      "mutability": "mutable",
                      "name": "rawReceipt",
                      "nameLocation": "15776:10:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5852,
                      "src": "15758:28:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                        "typeString": "struct StdCheatsSafe.RawReceipt"
                      },
                      "typeName": {
                        "id": 5839,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 5838,
                          "name": "RawReceipt",
                          "nameLocations": [
                            "15758:10:5"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 4703,
                          "src": "15758:10:5"
                        },
                        "referencedDeclaration": 4703,
                        "src": "15758:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawReceipt_$4703_storage_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5847,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 5843,
                        "name": "parsedDeployData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5831,
                        "src": "15800:16:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "components": [
                          {
                            "id": 5844,
                            "name": "RawReceipt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4703,
                            "src": "15819:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_RawReceipt_$4703_storage_ptr_$",
                              "typeString": "type(struct StdCheatsSafe.RawReceipt storage pointer)"
                            }
                          }
                        ],
                        "id": 5845,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "15818:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_RawReceipt_$4703_storage_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawReceipt storage pointer)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_type$_t_struct$_RawReceipt_$4703_storage_ptr_$",
                          "typeString": "type(struct StdCheatsSafe.RawReceipt storage pointer)"
                        }
                      ],
                      "expression": {
                        "id": 5841,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "15789:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 5842,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "15793:6:5",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "15789:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 5846,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15789:42:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                      "typeString": "struct StdCheatsSafe.RawReceipt memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15758:73:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 5849,
                        "name": "rawReceipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5840,
                        "src": "15870:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory"
                        }
                      ],
                      "id": 5848,
                      "name": "rawToConvertedReceipt",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6023,
                      "src": "15848:21:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_RawReceipt_$4703_memory_ptr_$returns$_t_struct$_Receipt_$4732_memory_ptr_$",
                        "typeString": "function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)"
                      }
                    },
                    "id": 5850,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15848:33:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt memory"
                    }
                  },
                  "functionReturnParameters": 5807,
                  "id": 5851,
                  "nodeType": "Return",
                  "src": "15841:40:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "readReceipt",
            "nameLocation": "15436:11:5",
            "parameters": {
              "id": 5803,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5800,
                  "mutability": "mutable",
                  "name": "path",
                  "nameLocation": "15462:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5853,
                  "src": "15448:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 5799,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "15448:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5802,
                  "mutability": "mutable",
                  "name": "index",
                  "nameLocation": "15476:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5853,
                  "src": "15468:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5801,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "15468:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15447:35:5"
            },
            "returnParameters": {
              "id": 5807,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5806,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 5853,
                  "src": "15514:14:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Receipt"
                  },
                  "typeName": {
                    "id": 5805,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5804,
                      "name": "Receipt",
                      "nameLocations": [
                        "15514:7:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4732,
                      "src": "15514:7:5"
                    },
                    "referencedDeclaration": 4732,
                    "src": "15514:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Receipt_$4732_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15513:16:5"
            },
            "scope": 6570,
            "stateMutability": "view",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 5902,
            "nodeType": "FunctionDefinition",
            "src": "15894:347:5",
            "nodes": [],
            "body": {
              "id": 5901,
              "nodeType": "Block",
              "src": "16008:233:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    5868
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5868,
                      "mutability": "mutable",
                      "name": "receipts",
                      "nameLocation": "16035:8:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 5901,
                      "src": "16018:25:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Receipt_$4732_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Receipt[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 5866,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 5865,
                            "name": "Receipt",
                            "nameLocations": [
                              "16018:7:5"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 4732,
                            "src": "16018:7:5"
                          },
                          "referencedDeclaration": 4732,
                          "src": "16018:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Receipt_$4732_storage_ptr",
                            "typeString": "struct StdCheatsSafe.Receipt"
                          }
                        },
                        "id": 5867,
                        "nodeType": "ArrayTypeName",
                        "src": "16018:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Receipt_$4732_storage_$dyn_storage_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5876,
                  "initialValue": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 5873,
                          "name": "rawReceipts",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5857,
                          "src": "16060:11:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_RawReceipt_$4703_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory"
                          }
                        },
                        "id": 5874,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "16072:6:5",
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "src": "16060:18:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5872,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "16046:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Receipt_$4732_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 5870,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 5869,
                            "name": "Receipt",
                            "nameLocations": [
                              "16050:7:5"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 4732,
                            "src": "16050:7:5"
                          },
                          "referencedDeclaration": 4732,
                          "src": "16050:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Receipt_$4732_storage_ptr",
                            "typeString": "struct StdCheatsSafe.Receipt"
                          }
                        },
                        "id": 5871,
                        "nodeType": "ArrayTypeName",
                        "src": "16050:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Receipt_$4732_storage_$dyn_storage_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt[]"
                        }
                      }
                    },
                    "id": 5875,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16046:33:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Receipt_$4732_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16018:61:5"
                },
                {
                  "body": {
                    "id": 5897,
                    "nodeType": "Block",
                    "src": "16134:76:5",
                    "statements": [
                      {
                        "expression": {
                          "id": 5895,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 5887,
                              "name": "receipts",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5868,
                              "src": "16148:8:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_Receipt_$4732_memory_ptr_$dyn_memory_ptr",
                                "typeString": "struct StdCheatsSafe.Receipt memory[] memory"
                              }
                            },
                            "id": 5889,
                            "indexExpression": {
                              "id": 5888,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5878,
                              "src": "16157:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "16148:11:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                              "typeString": "struct StdCheatsSafe.Receipt memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "baseExpression": {
                                  "id": 5891,
                                  "name": "rawReceipts",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5857,
                                  "src": "16184:11:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_struct$_RawReceipt_$4703_memory_ptr_$dyn_memory_ptr",
                                    "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory"
                                  }
                                },
                                "id": 5893,
                                "indexExpression": {
                                  "id": 5892,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5878,
                                  "src": "16196:1:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "16184:14:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawReceipt memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawReceipt memory"
                                }
                              ],
                              "id": 5890,
                              "name": "rawToConvertedReceipt",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6023,
                              "src": "16162:21:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_RawReceipt_$4703_memory_ptr_$returns$_t_struct$_Receipt_$4732_memory_ptr_$",
                                "typeString": "function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)"
                              }
                            },
                            "id": 5894,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "16162:37:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                              "typeString": "struct StdCheatsSafe.Receipt memory"
                            }
                          },
                          "src": "16148:51:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                            "typeString": "struct StdCheatsSafe.Receipt memory"
                          }
                        },
                        "id": 5896,
                        "nodeType": "ExpressionStatement",
                        "src": "16148:51:5"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5883,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 5880,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5878,
                      "src": "16105:1:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 5881,
                        "name": "rawReceipts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5857,
                        "src": "16109:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RawReceipt_$4703_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory[] memory"
                        }
                      },
                      "id": 5882,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16121:6:5",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "16109:18:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "16105:22:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 5898,
                  "initializationExpression": {
                    "assignments": [
                      5878
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 5878,
                        "mutability": "mutable",
                        "name": "i",
                        "nameLocation": "16102:1:5",
                        "nodeType": "VariableDeclaration",
                        "scope": 5898,
                        "src": "16094:9:5",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 5877,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "16094:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 5879,
                    "nodeType": "VariableDeclarationStatement",
                    "src": "16094:9:5"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 5885,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "16129:3:5",
                      "subExpression": {
                        "id": 5884,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5878,
                        "src": "16129:1:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 5886,
                    "nodeType": "ExpressionStatement",
                    "src": "16129:3:5"
                  },
                  "nodeType": "ForStatement",
                  "src": "16089:121:5"
                },
                {
                  "expression": {
                    "id": 5899,
                    "name": "receipts",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 5868,
                    "src": "16226:8:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Receipt_$4732_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt memory[] memory"
                    }
                  },
                  "functionReturnParameters": 5863,
                  "id": 5900,
                  "nodeType": "Return",
                  "src": "16219:15:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rawToConvertedReceipts",
            "nameLocation": "15903:22:5",
            "parameters": {
              "id": 5858,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5857,
                  "mutability": "mutable",
                  "name": "rawReceipts",
                  "nameLocation": "15946:11:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 5902,
                  "src": "15926:31:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RawReceipt_$4703_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct StdCheatsSafe.RawReceipt[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 5855,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 5854,
                        "name": "RawReceipt",
                        "nameLocations": [
                          "15926:10:5"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 4703,
                        "src": "15926:10:5"
                      },
                      "referencedDeclaration": 4703,
                      "src": "15926:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RawReceipt_$4703_storage_ptr",
                        "typeString": "struct StdCheatsSafe.RawReceipt"
                      }
                    },
                    "id": 5856,
                    "nodeType": "ArrayTypeName",
                    "src": "15926:12:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RawReceipt_$4703_storage_$dyn_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawReceipt[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15925:33:5"
            },
            "returnParameters": {
              "id": 5863,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5862,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 5902,
                  "src": "15990:16:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_Receipt_$4732_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Receipt[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 5860,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 5859,
                        "name": "Receipt",
                        "nameLocations": [
                          "15990:7:5"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 4732,
                        "src": "15990:7:5"
                      },
                      "referencedDeclaration": 4732,
                      "src": "15990:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Receipt_$4732_storage_ptr",
                        "typeString": "struct StdCheatsSafe.Receipt"
                      }
                    },
                    "id": 5861,
                    "nodeType": "ArrayTypeName",
                    "src": "15990:9:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Receipt_$4732_storage_$dyn_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15989:18:5"
            },
            "scope": 6570,
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6023,
            "nodeType": "FunctionDefinition",
            "src": "16247:962:5",
            "nodes": [],
            "body": {
              "id": 6022,
              "nodeType": "Block",
              "src": "16355:854:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    5913
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5913,
                      "mutability": "mutable",
                      "name": "receipt",
                      "nameLocation": "16380:7:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 6022,
                      "src": "16365:22:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                        "typeString": "struct StdCheatsSafe.Receipt"
                      },
                      "typeName": {
                        "id": 5912,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 5911,
                          "name": "Receipt",
                          "nameLocations": [
                            "16365:7:5"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 4732,
                          "src": "16365:7:5"
                        },
                        "referencedDeclaration": 4732,
                        "src": "16365:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$4732_storage_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 5914,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16365:22:5"
                },
                {
                  "expression": {
                    "id": 5920,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5915,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5913,
                        "src": "16397:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 5917,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "16405:9:5",
                      "memberName": "blockHash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4705,
                      "src": "16397:17:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5918,
                        "name": "rawReceipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5905,
                        "src": "16417:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory"
                        }
                      },
                      "id": 5919,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16428:9:5",
                      "memberName": "blockHash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4676,
                      "src": "16417:20:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "16397:40:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 5921,
                  "nodeType": "ExpressionStatement",
                  "src": "16397:40:5"
                },
                {
                  "expression": {
                    "id": 5927,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5922,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5913,
                        "src": "16447:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 5924,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "16455:2:5",
                      "memberName": "to",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4727,
                      "src": "16447:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5925,
                        "name": "rawReceipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5905,
                        "src": "16460:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory"
                        }
                      },
                      "id": 5926,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16471:2:5",
                      "memberName": "to",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4698,
                      "src": "16460:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "16447:26:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 5928,
                  "nodeType": "ExpressionStatement",
                  "src": "16447:26:5"
                },
                {
                  "expression": {
                    "id": 5934,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5929,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5913,
                        "src": "16483:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 5931,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "16491:4:5",
                      "memberName": "from",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4715,
                      "src": "16483:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5932,
                        "name": "rawReceipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5905,
                        "src": "16498:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory"
                        }
                      },
                      "id": 5933,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16509:4:5",
                      "memberName": "from",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4686,
                      "src": "16498:15:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "16483:30:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 5935,
                  "nodeType": "ExpressionStatement",
                  "src": "16483:30:5"
                },
                {
                  "expression": {
                    "id": 5941,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5936,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5913,
                        "src": "16523:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 5938,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "16531:15:5",
                      "memberName": "contractAddress",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4709,
                      "src": "16523:23:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 5939,
                        "name": "rawReceipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5905,
                        "src": "16549:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory"
                        }
                      },
                      "id": 5940,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16560:15:5",
                      "memberName": "contractAddress",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4680,
                      "src": "16549:26:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "16523:52:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 5942,
                  "nodeType": "ExpressionStatement",
                  "src": "16523:52:5"
                },
                {
                  "expression": {
                    "id": 5950,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5943,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5913,
                        "src": "16585:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 5945,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "16593:17:5",
                      "memberName": "effectiveGasPrice",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4713,
                      "src": "16585:25:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 5947,
                            "name": "rawReceipt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5905,
                            "src": "16626:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawReceipt memory"
                            }
                          },
                          "id": 5948,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "16637:17:5",
                          "memberName": "effectiveGasPrice",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4684,
                          "src": "16626:28:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 5946,
                        "name": "_bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6462,
                        "src": "16613:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 5949,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16613:42:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "16585:70:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5951,
                  "nodeType": "ExpressionStatement",
                  "src": "16585:70:5"
                },
                {
                  "expression": {
                    "id": 5959,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5952,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5913,
                        "src": "16665:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 5954,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "16673:17:5",
                      "memberName": "cumulativeGasUsed",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4711,
                      "src": "16665:25:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 5956,
                            "name": "rawReceipt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5905,
                            "src": "16706:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawReceipt memory"
                            }
                          },
                          "id": 5957,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "16717:17:5",
                          "memberName": "cumulativeGasUsed",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4682,
                          "src": "16706:28:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 5955,
                        "name": "_bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6462,
                        "src": "16693:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 5958,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16693:42:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "16665:70:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5960,
                  "nodeType": "ExpressionStatement",
                  "src": "16665:70:5"
                },
                {
                  "expression": {
                    "id": 5968,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5961,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5913,
                        "src": "16745:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 5963,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "16753:7:5",
                      "memberName": "gasUsed",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4717,
                      "src": "16745:15:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 5965,
                            "name": "rawReceipt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5905,
                            "src": "16776:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawReceipt memory"
                            }
                          },
                          "id": 5966,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "16787:7:5",
                          "memberName": "gasUsed",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4688,
                          "src": "16776:18:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 5964,
                        "name": "_bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6462,
                        "src": "16763:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 5967,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16763:32:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "16745:50:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5969,
                  "nodeType": "ExpressionStatement",
                  "src": "16745:50:5"
                },
                {
                  "expression": {
                    "id": 5977,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5970,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5913,
                        "src": "16805:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 5972,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "16813:6:5",
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4725,
                      "src": "16805:14:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 5974,
                            "name": "rawReceipt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5905,
                            "src": "16835:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawReceipt memory"
                            }
                          },
                          "id": 5975,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "16846:6:5",
                          "memberName": "status",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4696,
                          "src": "16835:17:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 5973,
                        "name": "_bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6462,
                        "src": "16822:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 5976,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16822:31:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "16805:48:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5978,
                  "nodeType": "ExpressionStatement",
                  "src": "16805:48:5"
                },
                {
                  "expression": {
                    "id": 5986,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5979,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5913,
                        "src": "16863:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 5981,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "16871:16:5",
                      "memberName": "transactionIndex",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4731,
                      "src": "16863:24:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 5983,
                            "name": "rawReceipt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5905,
                            "src": "16903:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawReceipt memory"
                            }
                          },
                          "id": 5984,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "16914:16:5",
                          "memberName": "transactionIndex",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4702,
                          "src": "16903:27:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 5982,
                        "name": "_bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6462,
                        "src": "16890:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 5985,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16890:41:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "16863:68:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5987,
                  "nodeType": "ExpressionStatement",
                  "src": "16863:68:5"
                },
                {
                  "expression": {
                    "id": 5995,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5988,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5913,
                        "src": "16941:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 5990,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "16949:11:5",
                      "memberName": "blockNumber",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4707,
                      "src": "16941:19:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 5992,
                            "name": "rawReceipt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5905,
                            "src": "16976:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawReceipt memory"
                            }
                          },
                          "id": 5993,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "16987:11:5",
                          "memberName": "blockNumber",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4678,
                          "src": "16976:22:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 5991,
                        "name": "_bytesToUint",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6462,
                        "src": "16963:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                          "typeString": "function (bytes memory) pure returns (uint256)"
                        }
                      },
                      "id": 5994,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16963:36:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "16941:58:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5996,
                  "nodeType": "ExpressionStatement",
                  "src": "16941:58:5"
                },
                {
                  "expression": {
                    "id": 6004,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 5997,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5913,
                        "src": "17009:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 5999,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "17017:4:5",
                      "memberName": "logs",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4721,
                      "src": "17009:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 6001,
                            "name": "rawReceipt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5905,
                            "src": "17050:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                              "typeString": "struct StdCheatsSafe.RawReceipt memory"
                            }
                          },
                          "id": 6002,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "17061:4:5",
                          "memberName": "logs",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4692,
                          "src": "17050:15:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                          }
                        ],
                        "id": 6000,
                        "name": "rawToConvertedReceiptLogs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6160,
                        "src": "17024:25:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_array$_t_struct$_RawReceiptLog_$4800_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function (struct StdCheatsSafe.RawReceiptLog memory[] memory) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)"
                        }
                      },
                      "id": 6003,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "17024:42:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                      }
                    },
                    "src": "17009:57:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                    }
                  },
                  "id": 6005,
                  "nodeType": "ExpressionStatement",
                  "src": "17009:57:5"
                },
                {
                  "expression": {
                    "id": 6011,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 6006,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5913,
                        "src": "17076:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 6008,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "17084:9:5",
                      "memberName": "logsBloom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4723,
                      "src": "17076:17:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 6009,
                        "name": "rawReceipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5905,
                        "src": "17096:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory"
                        }
                      },
                      "id": 6010,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "17107:9:5",
                      "memberName": "logsBloom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4694,
                      "src": "17096:20:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes memory"
                      }
                    },
                    "src": "17076:40:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "id": 6012,
                  "nodeType": "ExpressionStatement",
                  "src": "17076:40:5"
                },
                {
                  "expression": {
                    "id": 6018,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 6013,
                        "name": "receipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5913,
                        "src": "17126:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                          "typeString": "struct StdCheatsSafe.Receipt memory"
                        }
                      },
                      "id": 6015,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "17134:15:5",
                      "memberName": "transactionHash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4729,
                      "src": "17126:23:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 6016,
                        "name": "rawReceipt",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5905,
                        "src": "17152:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceipt memory"
                        }
                      },
                      "id": 6017,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "17163:15:5",
                      "memberName": "transactionHash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4700,
                      "src": "17152:26:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "17126:52:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 6019,
                  "nodeType": "ExpressionStatement",
                  "src": "17126:52:5"
                },
                {
                  "expression": {
                    "id": 6020,
                    "name": "receipt",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 5913,
                    "src": "17195:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt memory"
                    }
                  },
                  "functionReturnParameters": 5910,
                  "id": 6021,
                  "nodeType": "Return",
                  "src": "17188:14:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rawToConvertedReceipt",
            "nameLocation": "16256:21:5",
            "parameters": {
              "id": 5906,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5905,
                  "mutability": "mutable",
                  "name": "rawReceipt",
                  "nameLocation": "16296:10:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6023,
                  "src": "16278:28:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RawReceipt_$4703_memory_ptr",
                    "typeString": "struct StdCheatsSafe.RawReceipt"
                  },
                  "typeName": {
                    "id": 5904,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5903,
                      "name": "RawReceipt",
                      "nameLocations": [
                        "16278:10:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4703,
                      "src": "16278:10:5"
                    },
                    "referencedDeclaration": 4703,
                    "src": "16278:10:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RawReceipt_$4703_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawReceipt"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16277:30:5"
            },
            "returnParameters": {
              "id": 5910,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5909,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 6023,
                  "src": "16339:14:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Receipt_$4732_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Receipt"
                  },
                  "typeName": {
                    "id": 5908,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 5907,
                      "name": "Receipt",
                      "nameLocations": [
                        "16339:7:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4732,
                      "src": "16339:7:5"
                    },
                    "referencedDeclaration": 4732,
                    "src": "16339:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Receipt_$4732_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Receipt"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16338:16:5"
            },
            "scope": 6570,
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6160,
            "nodeType": "FunctionDefinition",
            "src": "17215:873:5",
            "nodes": [],
            "body": {
              "id": 6159,
              "nodeType": "Block",
              "src": "17370:718:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    6038
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6038,
                      "mutability": "mutable",
                      "name": "logs",
                      "nameLocation": "17400:4:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 6159,
                      "src": "17380:24:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr",
                        "typeString": "struct StdCheatsSafe.ReceiptLog[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 6036,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 6035,
                            "name": "ReceiptLog",
                            "nameLocations": [
                              "17380:10:5"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 4820,
                            "src": "17380:10:5"
                          },
                          "referencedDeclaration": 4820,
                          "src": "17380:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ReceiptLog_$4820_storage_ptr",
                            "typeString": "struct StdCheatsSafe.ReceiptLog"
                          }
                        },
                        "id": 6037,
                        "nodeType": "ArrayTypeName",
                        "src": "17380:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_storage_$dyn_storage_ptr",
                          "typeString": "struct StdCheatsSafe.ReceiptLog[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6046,
                  "initialValue": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 6043,
                          "name": "rawLogs",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6027,
                          "src": "17424:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_memory_ptr_$dyn_memory_ptr",
                            "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                          }
                        },
                        "id": 6044,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "17432:6:5",
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "src": "17424:14:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 6042,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "17407:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 6040,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 6039,
                            "name": "ReceiptLog",
                            "nameLocations": [
                              "17411:10:5"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 4820,
                            "src": "17411:10:5"
                          },
                          "referencedDeclaration": 4820,
                          "src": "17411:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ReceiptLog_$4820_storage_ptr",
                            "typeString": "struct StdCheatsSafe.ReceiptLog"
                          }
                        },
                        "id": 6041,
                        "nodeType": "ArrayTypeName",
                        "src": "17411:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_storage_$dyn_storage_ptr",
                          "typeString": "struct StdCheatsSafe.ReceiptLog[]"
                        }
                      }
                    },
                    "id": 6045,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "17407:32:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "17380:59:5"
                },
                {
                  "body": {
                    "id": 6155,
                    "nodeType": "Block",
                    "src": "17490:571:5",
                    "statements": [
                      {
                        "expression": {
                          "id": 6065,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 6057,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6038,
                                "src": "17504:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 6059,
                              "indexExpression": {
                                "id": 6058,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6048,
                                "src": "17509:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "17504:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$4820_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 6060,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "17512:10:5",
                            "memberName": "logAddress",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 4802,
                            "src": "17504:18:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 6061,
                                "name": "rawLogs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6027,
                                "src": "17525:7:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                }
                              },
                              "id": 6063,
                              "indexExpression": {
                                "id": 6062,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6048,
                                "src": "17533:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "17525:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RawReceiptLog_$4800_memory_ptr",
                                "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                              }
                            },
                            "id": 6064,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "17536:10:5",
                            "memberName": "logAddress",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 4780,
                            "src": "17525:21:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "17504:42:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 6066,
                        "nodeType": "ExpressionStatement",
                        "src": "17504:42:5"
                      },
                      {
                        "expression": {
                          "id": 6075,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 6067,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6038,
                                "src": "17560:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 6069,
                              "indexExpression": {
                                "id": 6068,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6048,
                                "src": "17565:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "17560:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$4820_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 6070,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "17568:9:5",
                            "memberName": "blockHash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 4804,
                            "src": "17560:17:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 6071,
                                "name": "rawLogs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6027,
                                "src": "17580:7:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                }
                              },
                              "id": 6073,
                              "indexExpression": {
                                "id": 6072,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6048,
                                "src": "17588:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "17580:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RawReceiptLog_$4800_memory_ptr",
                                "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                              }
                            },
                            "id": 6074,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "17591:9:5",
                            "memberName": "blockHash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 4782,
                            "src": "17580:20:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "17560:40:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 6076,
                        "nodeType": "ExpressionStatement",
                        "src": "17560:40:5"
                      },
                      {
                        "expression": {
                          "id": 6087,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 6077,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6038,
                                "src": "17614:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 6079,
                              "indexExpression": {
                                "id": 6078,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6048,
                                "src": "17619:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "17614:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$4820_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 6080,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "17622:11:5",
                            "memberName": "blockNumber",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 4806,
                            "src": "17614:19:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "expression": {
                                  "baseExpression": {
                                    "id": 6082,
                                    "name": "rawLogs",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6027,
                                    "src": "17649:7:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                    }
                                  },
                                  "id": 6084,
                                  "indexExpression": {
                                    "id": 6083,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6048,
                                    "src": "17657:1:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "17649:10:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RawReceiptLog_$4800_memory_ptr",
                                    "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                                  }
                                },
                                "id": 6085,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "17660:11:5",
                                "memberName": "blockNumber",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 4784,
                                "src": "17649:22:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "id": 6081,
                              "name": "_bytesToUint",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6462,
                              "src": "17636:12:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                                "typeString": "function (bytes memory) pure returns (uint256)"
                              }
                            },
                            "id": 6086,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "17636:36:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "17614:58:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 6088,
                        "nodeType": "ExpressionStatement",
                        "src": "17614:58:5"
                      },
                      {
                        "expression": {
                          "id": 6097,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 6089,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6038,
                                "src": "17686:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 6091,
                              "indexExpression": {
                                "id": 6090,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6048,
                                "src": "17691:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "17686:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$4820_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 6092,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "17694:4:5",
                            "memberName": "data",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 4808,
                            "src": "17686:12:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 6093,
                                "name": "rawLogs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6027,
                                "src": "17701:7:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                }
                              },
                              "id": 6095,
                              "indexExpression": {
                                "id": 6094,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6048,
                                "src": "17709:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "17701:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RawReceiptLog_$4800_memory_ptr",
                                "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                              }
                            },
                            "id": 6096,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "17712:4:5",
                            "memberName": "data",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 4786,
                            "src": "17701:15:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "src": "17686:30:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        "id": 6098,
                        "nodeType": "ExpressionStatement",
                        "src": "17686:30:5"
                      },
                      {
                        "expression": {
                          "id": 6109,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 6099,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6038,
                                "src": "17730:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 6101,
                              "indexExpression": {
                                "id": 6100,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6048,
                                "src": "17735:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "17730:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$4820_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 6102,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "17738:8:5",
                            "memberName": "logIndex",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 4810,
                            "src": "17730:16:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "expression": {
                                  "baseExpression": {
                                    "id": 6104,
                                    "name": "rawLogs",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6027,
                                    "src": "17762:7:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                    }
                                  },
                                  "id": 6106,
                                  "indexExpression": {
                                    "id": 6105,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6048,
                                    "src": "17770:1:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "17762:10:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RawReceiptLog_$4800_memory_ptr",
                                    "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                                  }
                                },
                                "id": 6107,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "17773:8:5",
                                "memberName": "logIndex",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 4788,
                                "src": "17762:19:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "id": 6103,
                              "name": "_bytesToUint",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6462,
                              "src": "17749:12:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                                "typeString": "function (bytes memory) pure returns (uint256)"
                              }
                            },
                            "id": 6108,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "17749:33:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "17730:52:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 6110,
                        "nodeType": "ExpressionStatement",
                        "src": "17730:52:5"
                      },
                      {
                        "expression": {
                          "id": 6119,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 6111,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6038,
                                "src": "17796:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 6113,
                              "indexExpression": {
                                "id": 6112,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6048,
                                "src": "17801:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "17796:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$4820_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 6114,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "17804:6:5",
                            "memberName": "topics",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 4813,
                            "src": "17796:14:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                              "typeString": "bytes32[] memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 6115,
                                "name": "rawLogs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6027,
                                "src": "17813:7:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                }
                              },
                              "id": 6117,
                              "indexExpression": {
                                "id": 6116,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6048,
                                "src": "17821:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "17813:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RawReceiptLog_$4800_memory_ptr",
                                "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                              }
                            },
                            "id": 6118,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "17824:6:5",
                            "memberName": "topics",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 4793,
                            "src": "17813:17:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                              "typeString": "bytes32[] memory"
                            }
                          },
                          "src": "17796:34:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                            "typeString": "bytes32[] memory"
                          }
                        },
                        "id": 6120,
                        "nodeType": "ExpressionStatement",
                        "src": "17796:34:5"
                      },
                      {
                        "expression": {
                          "id": 6131,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 6121,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6038,
                                "src": "17844:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 6123,
                              "indexExpression": {
                                "id": 6122,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6048,
                                "src": "17849:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "17844:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$4820_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 6124,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "17852:16:5",
                            "memberName": "transactionIndex",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 4815,
                            "src": "17844:24:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "expression": {
                                  "baseExpression": {
                                    "id": 6126,
                                    "name": "rawLogs",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6027,
                                    "src": "17884:7:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                    }
                                  },
                                  "id": 6128,
                                  "indexExpression": {
                                    "id": 6127,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6048,
                                    "src": "17892:1:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "17884:10:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RawReceiptLog_$4800_memory_ptr",
                                    "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                                  }
                                },
                                "id": 6129,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "17895:16:5",
                                "memberName": "transactionIndex",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 4797,
                                "src": "17884:27:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "id": 6125,
                              "name": "_bytesToUint",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6462,
                              "src": "17871:12:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                                "typeString": "function (bytes memory) pure returns (uint256)"
                              }
                            },
                            "id": 6130,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "17871:41:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "17844:68:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 6132,
                        "nodeType": "ExpressionStatement",
                        "src": "17844:68:5"
                      },
                      {
                        "expression": {
                          "id": 6143,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 6133,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6038,
                                "src": "17926:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 6135,
                              "indexExpression": {
                                "id": 6134,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6048,
                                "src": "17931:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "17926:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$4820_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 6136,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "17934:19:5",
                            "memberName": "transactionLogIndex",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 4817,
                            "src": "17926:27:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "expression": {
                                  "baseExpression": {
                                    "id": 6138,
                                    "name": "rawLogs",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6027,
                                    "src": "17969:7:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_memory_ptr_$dyn_memory_ptr",
                                      "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                    }
                                  },
                                  "id": 6140,
                                  "indexExpression": {
                                    "id": 6139,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6048,
                                    "src": "17977:1:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "17969:10:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RawReceiptLog_$4800_memory_ptr",
                                    "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                                  }
                                },
                                "id": 6141,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "17980:19:5",
                                "memberName": "transactionLogIndex",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 4799,
                                "src": "17969:30:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              ],
                              "id": 6137,
                              "name": "_bytesToUint",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6462,
                              "src": "17956:12:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$",
                                "typeString": "function (bytes memory) pure returns (uint256)"
                              }
                            },
                            "id": 6142,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "17956:44:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "17926:74:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 6144,
                        "nodeType": "ExpressionStatement",
                        "src": "17926:74:5"
                      },
                      {
                        "expression": {
                          "id": 6153,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 6145,
                                "name": "logs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6038,
                                "src": "18014:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                                }
                              },
                              "id": 6147,
                              "indexExpression": {
                                "id": 6146,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6048,
                                "src": "18019:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18014:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ReceiptLog_$4820_memory_ptr",
                                "typeString": "struct StdCheatsSafe.ReceiptLog memory"
                              }
                            },
                            "id": 6148,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "18022:7:5",
                            "memberName": "removed",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 4819,
                            "src": "18014:15:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "baseExpression": {
                                "id": 6149,
                                "name": "rawLogs",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6027,
                                "src": "18032:7:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_memory_ptr_$dyn_memory_ptr",
                                  "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                                }
                              },
                              "id": 6151,
                              "indexExpression": {
                                "id": 6150,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6048,
                                "src": "18040:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "18032:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_RawReceiptLog_$4800_memory_ptr",
                                "typeString": "struct StdCheatsSafe.RawReceiptLog memory"
                              }
                            },
                            "id": 6152,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "18043:7:5",
                            "memberName": "removed",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 4790,
                            "src": "18032:18:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "18014:36:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 6154,
                        "nodeType": "ExpressionStatement",
                        "src": "18014:36:5"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 6053,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 6050,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6048,
                      "src": "17465:1:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 6051,
                        "name": "rawLogs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6027,
                        "src": "17469:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_memory_ptr_$dyn_memory_ptr",
                          "typeString": "struct StdCheatsSafe.RawReceiptLog memory[] memory"
                        }
                      },
                      "id": 6052,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "17477:6:5",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "17469:14:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "17465:18:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 6156,
                  "initializationExpression": {
                    "assignments": [
                      6048
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 6048,
                        "mutability": "mutable",
                        "name": "i",
                        "nameLocation": "17462:1:5",
                        "nodeType": "VariableDeclaration",
                        "scope": 6156,
                        "src": "17454:9:5",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 6047,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "17454:7:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 6049,
                    "nodeType": "VariableDeclarationStatement",
                    "src": "17454:9:5"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 6055,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "17485:3:5",
                      "subExpression": {
                        "id": 6054,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6048,
                        "src": "17485:1:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 6056,
                    "nodeType": "ExpressionStatement",
                    "src": "17485:3:5"
                  },
                  "nodeType": "ForStatement",
                  "src": "17449:612:5"
                },
                {
                  "expression": {
                    "id": 6157,
                    "name": "logs",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6038,
                    "src": "18077:4:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr",
                      "typeString": "struct StdCheatsSafe.ReceiptLog memory[] memory"
                    }
                  },
                  "functionReturnParameters": 6033,
                  "id": 6158,
                  "nodeType": "Return",
                  "src": "18070:11:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rawToConvertedReceiptLogs",
            "nameLocation": "17224:25:5",
            "parameters": {
              "id": 6028,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6027,
                  "mutability": "mutable",
                  "name": "rawLogs",
                  "nameLocation": "17273:7:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6160,
                  "src": "17250:30:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct StdCheatsSafe.RawReceiptLog[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 6025,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 6024,
                        "name": "RawReceiptLog",
                        "nameLocations": [
                          "17250:13:5"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 4800,
                        "src": "17250:13:5"
                      },
                      "referencedDeclaration": 4800,
                      "src": "17250:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RawReceiptLog_$4800_storage_ptr",
                        "typeString": "struct StdCheatsSafe.RawReceiptLog"
                      }
                    },
                    "id": 6026,
                    "nodeType": "ArrayTypeName",
                    "src": "17250:15:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RawReceiptLog_$4800_storage_$dyn_storage_ptr",
                      "typeString": "struct StdCheatsSafe.RawReceiptLog[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "17249:32:5"
            },
            "returnParameters": {
              "id": 6033,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6032,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 6160,
                  "src": "17345:19:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct StdCheatsSafe.ReceiptLog[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 6030,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 6029,
                        "name": "ReceiptLog",
                        "nameLocations": [
                          "17345:10:5"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 4820,
                        "src": "17345:10:5"
                      },
                      "referencedDeclaration": 4820,
                      "src": "17345:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_ReceiptLog_$4820_storage_ptr",
                        "typeString": "struct StdCheatsSafe.ReceiptLog"
                      }
                    },
                    "id": 6031,
                    "nodeType": "ArrayTypeName",
                    "src": "17345:12:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_ReceiptLog_$4820_storage_$dyn_storage_ptr",
                      "typeString": "struct StdCheatsSafe.ReceiptLog[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "17344:21:5"
            },
            "scope": 6570,
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6192,
            "nodeType": "FunctionDefinition",
            "src": "18248:416:5",
            "nodes": [],
            "body": {
              "id": 6191,
              "nodeType": "Block",
              "src": "18347:317:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    6170
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6170,
                      "mutability": "mutable",
                      "name": "bytecode",
                      "nameLocation": "18370:8:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 6191,
                      "src": "18357:21:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 6169,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "18357:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6179,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 6175,
                            "name": "what",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6162,
                            "src": "18409:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "expression": {
                            "id": 6173,
                            "name": "vm",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4541,
                            "src": "18398:2:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Vm_$13464",
                              "typeString": "contract Vm"
                            }
                          },
                          "id": 6174,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "18401:7:5",
                          "memberName": "getCode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 12330,
                          "src": "18398:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (string memory) view external returns (bytes memory)"
                          }
                        },
                        "id": 6176,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "18398:16:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "id": 6177,
                        "name": "args",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6164,
                        "src": "18416:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 6171,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "18381:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 6172,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "18385:12:5",
                      "memberName": "encodePacked",
                      "nodeType": "MemberAccess",
                      "src": "18381:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function () pure returns (bytes memory)"
                      }
                    },
                    "id": 6178,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18381:40:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18357:64:5"
                },
                {
                  "AST": {
                    "nativeSrc": "18483:79:5",
                    "nodeType": "YulBlock",
                    "src": "18483:79:5",
                    "statements": [
                      {
                        "nativeSrc": "18497:55:5",
                        "nodeType": "YulAssignment",
                        "src": "18497:55:5",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18512:1:5",
                              "nodeType": "YulLiteral",
                              "src": "18512:1:5",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "bytecode",
                                  "nativeSrc": "18519:8:5",
                                  "nodeType": "YulIdentifier",
                                  "src": "18519:8:5"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "18529:4:5",
                                  "nodeType": "YulLiteral",
                                  "src": "18529:4:5",
                                  "type": "",
                                  "value": "0x20"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "18515:3:5",
                                "nodeType": "YulIdentifier",
                                "src": "18515:3:5"
                              },
                              "nativeSrc": "18515:19:5",
                              "nodeType": "YulFunctionCall",
                              "src": "18515:19:5"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "bytecode",
                                  "nativeSrc": "18542:8:5",
                                  "nodeType": "YulIdentifier",
                                  "src": "18542:8:5"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "18536:5:5",
                                "nodeType": "YulIdentifier",
                                "src": "18536:5:5"
                              },
                              "nativeSrc": "18536:15:5",
                              "nodeType": "YulFunctionCall",
                              "src": "18536:15:5"
                            }
                          ],
                          "functionName": {
                            "name": "create",
                            "nativeSrc": "18505:6:5",
                            "nodeType": "YulIdentifier",
                            "src": "18505:6:5"
                          },
                          "nativeSrc": "18505:47:5",
                          "nodeType": "YulFunctionCall",
                          "src": "18505:47:5"
                        },
                        "variableNames": [
                          {
                            "name": "addr",
                            "nativeSrc": "18497:4:5",
                            "nodeType": "YulIdentifier",
                            "src": "18497:4:5"
                          }
                        ]
                      }
                    ]
                  },
                  "documentation": "@solidity memory-safe-assembly",
                  "evmVersion": "paris",
                  "externalReferences": [
                    {
                      "declaration": 6167,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "18497:4:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 6170,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "18519:8:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 6170,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "18542:8:5",
                      "valueSize": 1
                    }
                  ],
                  "id": 6180,
                  "nodeType": "InlineAssembly",
                  "src": "18474:88:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 6187,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 6182,
                          "name": "addr",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6167,
                          "src": "18580:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 6185,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "18596:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 6184,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "18588:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 6183,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "18588:7:5",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 6186,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "18588:10:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "18580:18:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "537464436865617473206465706c6f79436f646528737472696e672c6279746573293a204465706c6f796d656e74206661696c65642e",
                        "id": 6188,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "18600:56:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_a8fe98dd1d450e91397ea844d0b9cef01528a963df7b8ac4b93b8aa3ef69cfce",
                          "typeString": "literal_string \"StdCheats deployCode(string,bytes): Deployment failed.\""
                        },
                        "value": "StdCheats deployCode(string,bytes): Deployment failed."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_a8fe98dd1d450e91397ea844d0b9cef01528a963df7b8ac4b93b8aa3ef69cfce",
                          "typeString": "literal_string \"StdCheats deployCode(string,bytes): Deployment failed.\""
                        }
                      ],
                      "id": 6181,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "18572:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6189,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18572:85:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6190,
                  "nodeType": "ExpressionStatement",
                  "src": "18572:85:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deployCode",
            "nameLocation": "18257:10:5",
            "parameters": {
              "id": 6165,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6162,
                  "mutability": "mutable",
                  "name": "what",
                  "nameLocation": "18282:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6192,
                  "src": "18268:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6161,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "18268:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6164,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "18301:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6192,
                  "src": "18288:17:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 6163,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "18288:5:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18267:39:5"
            },
            "returnParameters": {
              "id": 6168,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6167,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "18341:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6192,
                  "src": "18333:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6166,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "18333:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18332:14:5"
            },
            "scope": 6570,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6218,
            "nodeType": "FunctionDefinition",
            "src": "18670:367:5",
            "nodes": [],
            "body": {
              "id": 6217,
              "nodeType": "Block",
              "src": "18750:287:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    6200
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6200,
                      "mutability": "mutable",
                      "name": "bytecode",
                      "nameLocation": "18773:8:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 6217,
                      "src": "18760:21:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 6199,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "18760:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6205,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 6203,
                        "name": "what",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6194,
                        "src": "18795:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 6201,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "18784:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6202,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "18787:7:5",
                      "memberName": "getCode",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12330,
                      "src": "18784:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (string memory) view external returns (bytes memory)"
                      }
                    },
                    "id": 6204,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18784:16:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "18760:40:5"
                },
                {
                  "AST": {
                    "nativeSrc": "18862:79:5",
                    "nodeType": "YulBlock",
                    "src": "18862:79:5",
                    "statements": [
                      {
                        "nativeSrc": "18876:55:5",
                        "nodeType": "YulAssignment",
                        "src": "18876:55:5",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18891:1:5",
                              "nodeType": "YulLiteral",
                              "src": "18891:1:5",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "bytecode",
                                  "nativeSrc": "18898:8:5",
                                  "nodeType": "YulIdentifier",
                                  "src": "18898:8:5"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "18908:4:5",
                                  "nodeType": "YulLiteral",
                                  "src": "18908:4:5",
                                  "type": "",
                                  "value": "0x20"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "18894:3:5",
                                "nodeType": "YulIdentifier",
                                "src": "18894:3:5"
                              },
                              "nativeSrc": "18894:19:5",
                              "nodeType": "YulFunctionCall",
                              "src": "18894:19:5"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "bytecode",
                                  "nativeSrc": "18921:8:5",
                                  "nodeType": "YulIdentifier",
                                  "src": "18921:8:5"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "18915:5:5",
                                "nodeType": "YulIdentifier",
                                "src": "18915:5:5"
                              },
                              "nativeSrc": "18915:15:5",
                              "nodeType": "YulFunctionCall",
                              "src": "18915:15:5"
                            }
                          ],
                          "functionName": {
                            "name": "create",
                            "nativeSrc": "18884:6:5",
                            "nodeType": "YulIdentifier",
                            "src": "18884:6:5"
                          },
                          "nativeSrc": "18884:47:5",
                          "nodeType": "YulFunctionCall",
                          "src": "18884:47:5"
                        },
                        "variableNames": [
                          {
                            "name": "addr",
                            "nativeSrc": "18876:4:5",
                            "nodeType": "YulIdentifier",
                            "src": "18876:4:5"
                          }
                        ]
                      }
                    ]
                  },
                  "documentation": "@solidity memory-safe-assembly",
                  "evmVersion": "paris",
                  "externalReferences": [
                    {
                      "declaration": 6197,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "18876:4:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 6200,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "18898:8:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 6200,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "18921:8:5",
                      "valueSize": 1
                    }
                  ],
                  "id": 6206,
                  "nodeType": "InlineAssembly",
                  "src": "18853:88:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 6213,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 6208,
                          "name": "addr",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6197,
                          "src": "18959:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 6211,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "18975:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 6210,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "18967:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 6209,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "18967:7:5",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 6212,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "18967:10:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "18959:18:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "537464436865617473206465706c6f79436f646528737472696e67293a204465706c6f796d656e74206661696c65642e",
                        "id": 6214,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "18979:50:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f6ca2d254da27f2f7b444314e77be236e782a4d81876827dbe8fe7dcea90b371",
                          "typeString": "literal_string \"StdCheats deployCode(string): Deployment failed.\""
                        },
                        "value": "StdCheats deployCode(string): Deployment failed."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f6ca2d254da27f2f7b444314e77be236e782a4d81876827dbe8fe7dcea90b371",
                          "typeString": "literal_string \"StdCheats deployCode(string): Deployment failed.\""
                        }
                      ],
                      "id": 6207,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "18951:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6215,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "18951:79:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6216,
                  "nodeType": "ExpressionStatement",
                  "src": "18951:79:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deployCode",
            "nameLocation": "18679:10:5",
            "parameters": {
              "id": 6195,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6194,
                  "mutability": "mutable",
                  "name": "what",
                  "nameLocation": "18704:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6218,
                  "src": "18690:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6193,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "18690:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18689:20:5"
            },
            "returnParameters": {
              "id": 6198,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6197,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "18744:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6218,
                  "src": "18736:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6196,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "18736:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "18735:14:5"
            },
            "scope": 6570,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6253,
            "nodeType": "FunctionDefinition",
            "src": "19099:439:5",
            "nodes": [],
            "body": {
              "id": 6252,
              "nodeType": "Block",
              "src": "19211:327:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    6231
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6231,
                      "mutability": "mutable",
                      "name": "bytecode",
                      "nameLocation": "19234:8:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 6252,
                      "src": "19221:21:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 6230,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "19221:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6240,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 6236,
                            "name": "what",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6221,
                            "src": "19273:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "expression": {
                            "id": 6234,
                            "name": "vm",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4541,
                            "src": "19262:2:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Vm_$13464",
                              "typeString": "contract Vm"
                            }
                          },
                          "id": 6235,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "19265:7:5",
                          "memberName": "getCode",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 12330,
                          "src": "19262:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (string memory) view external returns (bytes memory)"
                          }
                        },
                        "id": 6237,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "19262:16:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "id": 6238,
                        "name": "args",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6223,
                        "src": "19280:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 6232,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "19245:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 6233,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "19249:12:5",
                      "memberName": "encodePacked",
                      "nodeType": "MemberAccess",
                      "src": "19245:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function () pure returns (bytes memory)"
                      }
                    },
                    "id": 6239,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19245:40:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "19221:64:5"
                },
                {
                  "AST": {
                    "nativeSrc": "19347:81:5",
                    "nodeType": "YulBlock",
                    "src": "19347:81:5",
                    "statements": [
                      {
                        "nativeSrc": "19361:57:5",
                        "nodeType": "YulAssignment",
                        "src": "19361:57:5",
                        "value": {
                          "arguments": [
                            {
                              "name": "val",
                              "nativeSrc": "19376:3:5",
                              "nodeType": "YulIdentifier",
                              "src": "19376:3:5"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "bytecode",
                                  "nativeSrc": "19385:8:5",
                                  "nodeType": "YulIdentifier",
                                  "src": "19385:8:5"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "19395:4:5",
                                  "nodeType": "YulLiteral",
                                  "src": "19395:4:5",
                                  "type": "",
                                  "value": "0x20"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "19381:3:5",
                                "nodeType": "YulIdentifier",
                                "src": "19381:3:5"
                              },
                              "nativeSrc": "19381:19:5",
                              "nodeType": "YulFunctionCall",
                              "src": "19381:19:5"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "bytecode",
                                  "nativeSrc": "19408:8:5",
                                  "nodeType": "YulIdentifier",
                                  "src": "19408:8:5"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "19402:5:5",
                                "nodeType": "YulIdentifier",
                                "src": "19402:5:5"
                              },
                              "nativeSrc": "19402:15:5",
                              "nodeType": "YulFunctionCall",
                              "src": "19402:15:5"
                            }
                          ],
                          "functionName": {
                            "name": "create",
                            "nativeSrc": "19369:6:5",
                            "nodeType": "YulIdentifier",
                            "src": "19369:6:5"
                          },
                          "nativeSrc": "19369:49:5",
                          "nodeType": "YulFunctionCall",
                          "src": "19369:49:5"
                        },
                        "variableNames": [
                          {
                            "name": "addr",
                            "nativeSrc": "19361:4:5",
                            "nodeType": "YulIdentifier",
                            "src": "19361:4:5"
                          }
                        ]
                      }
                    ]
                  },
                  "documentation": "@solidity memory-safe-assembly",
                  "evmVersion": "paris",
                  "externalReferences": [
                    {
                      "declaration": 6228,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "19361:4:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 6231,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "19385:8:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 6231,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "19408:8:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 6225,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "19376:3:5",
                      "valueSize": 1
                    }
                  ],
                  "id": 6241,
                  "nodeType": "InlineAssembly",
                  "src": "19338:90:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 6248,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 6243,
                          "name": "addr",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6228,
                          "src": "19446:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 6246,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "19462:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 6245,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "19454:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 6244,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "19454:7:5",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 6247,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "19454:10:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "19446:18:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "537464436865617473206465706c6f79436f646528737472696e672c62797465732c75696e74323536293a204465706c6f796d656e74206661696c65642e",
                        "id": 6249,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "19466:64:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b17e0074adb88d93215aea54607c780b63b16eef6aef31eb92005d5de3508fa0",
                          "typeString": "literal_string \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\""
                        },
                        "value": "StdCheats deployCode(string,bytes,uint256): Deployment failed."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b17e0074adb88d93215aea54607c780b63b16eef6aef31eb92005d5de3508fa0",
                          "typeString": "literal_string \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\""
                        }
                      ],
                      "id": 6242,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "19438:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6250,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19438:93:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6251,
                  "nodeType": "ExpressionStatement",
                  "src": "19438:93:5"
                }
              ]
            },
            "documentation": {
              "id": 6219,
              "nodeType": "StructuredDocumentation",
              "src": "19043:51:5",
              "text": "@dev deploy contract with value on construction"
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deployCode",
            "nameLocation": "19108:10:5",
            "parameters": {
              "id": 6226,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6221,
                  "mutability": "mutable",
                  "name": "what",
                  "nameLocation": "19133:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6253,
                  "src": "19119:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6220,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "19119:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6223,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "19152:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6253,
                  "src": "19139:17:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 6222,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "19139:5:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6225,
                  "mutability": "mutable",
                  "name": "val",
                  "nameLocation": "19166:3:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6253,
                  "src": "19158:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6224,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "19158:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "19118:52:5"
            },
            "returnParameters": {
              "id": 6229,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6228,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "19205:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6253,
                  "src": "19197:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6227,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "19197:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "19196:14:5"
            },
            "scope": 6570,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6281,
            "nodeType": "FunctionDefinition",
            "src": "19544:390:5",
            "nodes": [],
            "body": {
              "id": 6280,
              "nodeType": "Block",
              "src": "19637:297:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    6263
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6263,
                      "mutability": "mutable",
                      "name": "bytecode",
                      "nameLocation": "19660:8:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 6280,
                      "src": "19647:21:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 6262,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "19647:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6268,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 6266,
                        "name": "what",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6255,
                        "src": "19682:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 6264,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "19671:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6265,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "19674:7:5",
                      "memberName": "getCode",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12330,
                      "src": "19671:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (string memory) view external returns (bytes memory)"
                      }
                    },
                    "id": 6267,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19671:16:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "19647:40:5"
                },
                {
                  "AST": {
                    "nativeSrc": "19749:81:5",
                    "nodeType": "YulBlock",
                    "src": "19749:81:5",
                    "statements": [
                      {
                        "nativeSrc": "19763:57:5",
                        "nodeType": "YulAssignment",
                        "src": "19763:57:5",
                        "value": {
                          "arguments": [
                            {
                              "name": "val",
                              "nativeSrc": "19778:3:5",
                              "nodeType": "YulIdentifier",
                              "src": "19778:3:5"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "bytecode",
                                  "nativeSrc": "19787:8:5",
                                  "nodeType": "YulIdentifier",
                                  "src": "19787:8:5"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "19797:4:5",
                                  "nodeType": "YulLiteral",
                                  "src": "19797:4:5",
                                  "type": "",
                                  "value": "0x20"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "19783:3:5",
                                "nodeType": "YulIdentifier",
                                "src": "19783:3:5"
                              },
                              "nativeSrc": "19783:19:5",
                              "nodeType": "YulFunctionCall",
                              "src": "19783:19:5"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "bytecode",
                                  "nativeSrc": "19810:8:5",
                                  "nodeType": "YulIdentifier",
                                  "src": "19810:8:5"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "19804:5:5",
                                "nodeType": "YulIdentifier",
                                "src": "19804:5:5"
                              },
                              "nativeSrc": "19804:15:5",
                              "nodeType": "YulFunctionCall",
                              "src": "19804:15:5"
                            }
                          ],
                          "functionName": {
                            "name": "create",
                            "nativeSrc": "19771:6:5",
                            "nodeType": "YulIdentifier",
                            "src": "19771:6:5"
                          },
                          "nativeSrc": "19771:49:5",
                          "nodeType": "YulFunctionCall",
                          "src": "19771:49:5"
                        },
                        "variableNames": [
                          {
                            "name": "addr",
                            "nativeSrc": "19763:4:5",
                            "nodeType": "YulIdentifier",
                            "src": "19763:4:5"
                          }
                        ]
                      }
                    ]
                  },
                  "documentation": "@solidity memory-safe-assembly",
                  "evmVersion": "paris",
                  "externalReferences": [
                    {
                      "declaration": 6260,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "19763:4:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 6263,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "19787:8:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 6263,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "19810:8:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 6257,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "19778:3:5",
                      "valueSize": 1
                    }
                  ],
                  "id": 6269,
                  "nodeType": "InlineAssembly",
                  "src": "19740:90:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 6276,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 6271,
                          "name": "addr",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6260,
                          "src": "19848:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 6274,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "19864:1:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 6273,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "19856:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 6272,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "19856:7:5",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 6275,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "19856:10:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "19848:18:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "537464436865617473206465706c6f79436f646528737472696e672c75696e74323536293a204465706c6f796d656e74206661696c65642e",
                        "id": 6277,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "19868:58:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_cea3fb8155c56e1e84c027eaf19b7f987ed52f1b7ae1ee8bed46141b7ecf08d2",
                          "typeString": "literal_string \"StdCheats deployCode(string,uint256): Deployment failed.\""
                        },
                        "value": "StdCheats deployCode(string,uint256): Deployment failed."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_cea3fb8155c56e1e84c027eaf19b7f987ed52f1b7ae1ee8bed46141b7ecf08d2",
                          "typeString": "literal_string \"StdCheats deployCode(string,uint256): Deployment failed.\""
                        }
                      ],
                      "id": 6270,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "19840:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6278,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "19840:87:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6279,
                  "nodeType": "ExpressionStatement",
                  "src": "19840:87:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deployCode",
            "nameLocation": "19553:10:5",
            "parameters": {
              "id": 6258,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6255,
                  "mutability": "mutable",
                  "name": "what",
                  "nameLocation": "19578:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6281,
                  "src": "19564:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6254,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "19564:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6257,
                  "mutability": "mutable",
                  "name": "val",
                  "nameLocation": "19592:3:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6281,
                  "src": "19584:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6256,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "19584:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "19563:33:5"
            },
            "returnParameters": {
              "id": 6261,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6260,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "19631:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6281,
                  "src": "19623:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6259,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "19623:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "19622:14:5"
            },
            "scope": 6570,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6317,
            "nodeType": "FunctionDefinition",
            "src": "20007:242:5",
            "nodes": [],
            "body": {
              "id": 6316,
              "nodeType": "Block",
              "src": "20111:138:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "id": 6300,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6290,
                      "name": "privateKey",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6288,
                      "src": "20121:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "id": 6296,
                                  "name": "name",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6283,
                                  "src": "20169:4:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "expression": {
                                  "id": 6294,
                                  "name": "abi",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": -1,
                                  "src": "20152:3:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_abi",
                                    "typeString": "abi"
                                  }
                                },
                                "id": 6295,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "20156:12:5",
                                "memberName": "encodePacked",
                                "nodeType": "MemberAccess",
                                "src": "20152:16:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function () pure returns (bytes memory)"
                                }
                              },
                              "id": 6297,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "20152:22:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "id": 6293,
                            "name": "keccak256",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -8,
                            "src": "20142:9:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                              "typeString": "function (bytes memory) pure returns (bytes32)"
                            }
                          },
                          "id": 6298,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "20142:33:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "id": 6292,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "20134:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        },
                        "typeName": {
                          "id": 6291,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "20134:7:5",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 6299,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "20134:42:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "20121:55:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6301,
                  "nodeType": "ExpressionStatement",
                  "src": "20121:55:5"
                },
                {
                  "expression": {
                    "id": 6307,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6302,
                      "name": "addr",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6286,
                      "src": "20186:4:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 6305,
                          "name": "privateKey",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6288,
                          "src": "20201:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "id": 6303,
                          "name": "vm",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4541,
                          "src": "20193:2:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_Vm_$13464",
                            "typeString": "contract Vm"
                          }
                        },
                        "id": 6304,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "20196:4:5",
                        "memberName": "addr",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 12014,
                        "src": "20193:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_pure$_t_uint256_$returns$_t_address_$",
                          "typeString": "function (uint256) pure external returns (address)"
                        }
                      },
                      "id": 6306,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "20193:19:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "20186:26:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 6308,
                  "nodeType": "ExpressionStatement",
                  "src": "20186:26:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6312,
                        "name": "addr",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6286,
                        "src": "20231:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6313,
                        "name": "name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6283,
                        "src": "20237:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 6309,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "20222:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6311,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "20225:5:5",
                      "memberName": "label",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12344,
                      "src": "20222:8:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (address,string memory) external"
                      }
                    },
                    "id": 6314,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20222:20:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6315,
                  "nodeType": "ExpressionStatement",
                  "src": "20222:20:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "makeAddrAndKey",
            "nameLocation": "20016:14:5",
            "parameters": {
              "id": 6284,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6283,
                  "mutability": "mutable",
                  "name": "name",
                  "nameLocation": "20045:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6317,
                  "src": "20031:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6282,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "20031:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20030:20:5"
            },
            "returnParameters": {
              "id": 6289,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6286,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "20085:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6317,
                  "src": "20077:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6285,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "20077:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6288,
                  "mutability": "mutable",
                  "name": "privateKey",
                  "nameLocation": "20099:10:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6317,
                  "src": "20091:18:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6287,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "20091:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20076:34:5"
            },
            "scope": 6570,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6332,
            "nodeType": "FunctionDefinition",
            "src": "20288:125:5",
            "nodes": [],
            "body": {
              "id": 6331,
              "nodeType": "Block",
              "src": "20366:47:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "id": 6329,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "components": [
                        {
                          "id": 6324,
                          "name": "addr",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6322,
                          "src": "20377:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        null
                      ],
                      "id": 6325,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "20376:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$__$",
                        "typeString": "tuple(address,)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 6327,
                          "name": "name",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6319,
                          "src": "20401:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        ],
                        "id": 6326,
                        "name": "makeAddrAndKey",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6317,
                        "src": "20386:14:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$",
                          "typeString": "function (string memory) returns (address,uint256)"
                        }
                      },
                      "id": 6328,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "20386:20:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$",
                        "typeString": "tuple(address,uint256)"
                      }
                    },
                    "src": "20376:30:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6330,
                  "nodeType": "ExpressionStatement",
                  "src": "20376:30:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "makeAddr",
            "nameLocation": "20297:8:5",
            "parameters": {
              "id": 6320,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6319,
                  "mutability": "mutable",
                  "name": "name",
                  "nameLocation": "20320:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6332,
                  "src": "20306:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6318,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "20306:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20305:20:5"
            },
            "returnParameters": {
              "id": 6323,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6322,
                  "mutability": "mutable",
                  "name": "addr",
                  "nameLocation": "20360:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6332,
                  "src": "20352:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6321,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "20352:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20351:14:5"
            },
            "scope": 6570,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6381,
            "nodeType": "FunctionDefinition",
            "src": "20731:337:5",
            "nodes": [],
            "body": {
              "id": 6380,
              "nodeType": "Block",
              "src": "20806:262:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    6340
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6340,
                      "mutability": "mutable",
                      "name": "currBalance",
                      "nameLocation": "20824:11:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 6380,
                      "src": "20816:19:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 6339,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "20816:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6343,
                  "initialValue": {
                    "expression": {
                      "id": 6341,
                      "name": "who",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6334,
                      "src": "20838:3:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 6342,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "20842:7:5",
                    "memberName": "balance",
                    "nodeType": "MemberAccess",
                    "src": "20838:11:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "20816:33:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6347,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6334,
                        "src": "20867:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 6348,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "20872:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 6349,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "20876:6:5",
                          "memberName": "encode",
                          "nodeType": "MemberAccess",
                          "src": "20872:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 6350,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "20872:12:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 6344,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "20859:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6346,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "20862:4:5",
                      "memberName": "etch",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13108,
                      "src": "20859:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$",
                        "typeString": "function (address,bytes memory) external"
                      }
                    },
                    "id": 6351,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20859:26:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6352,
                  "nodeType": "ExpressionStatement",
                  "src": "20859:26:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6356,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6334,
                        "src": "20903:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "hexValue": "30",
                        "id": 6357,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "20908:1:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "expression": {
                        "id": 6353,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "20895:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6355,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "20898:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13101,
                      "src": "20895:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 6358,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20895:15:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6359,
                  "nodeType": "ExpressionStatement",
                  "src": "20895:15:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6363,
                        "name": "who",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6334,
                        "src": "20934:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 6360,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "20920:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6362,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "20923:10:5",
                      "memberName": "resetNonce",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13057,
                      "src": "20920:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address) external"
                      }
                    },
                    "id": 6364,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "20920:18:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6365,
                  "nodeType": "ExpressionStatement",
                  "src": "20920:18:5"
                },
                {
                  "assignments": [
                    6367
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6367,
                      "mutability": "mutable",
                      "name": "beneficiaryBalance",
                      "nameLocation": "20957:18:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 6380,
                      "src": "20949:26:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 6366,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "20949:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6370,
                  "initialValue": {
                    "expression": {
                      "id": 6368,
                      "name": "beneficiary",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6336,
                      "src": "20978:11:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 6369,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "20990:7:5",
                    "memberName": "balance",
                    "nodeType": "MemberAccess",
                    "src": "20978:19:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "20949:48:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6374,
                        "name": "beneficiary",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6336,
                        "src": "21015:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 6377,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 6375,
                          "name": "currBalance",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6340,
                          "src": "21028:11:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "+",
                        "rightExpression": {
                          "id": 6376,
                          "name": "beneficiaryBalance",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6367,
                          "src": "21042:18:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "21028:32:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6371,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "21007:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6373,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "21010:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13101,
                      "src": "21007:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 6378,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21007:54:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6379,
                  "nodeType": "ExpressionStatement",
                  "src": "21007:54:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "destroyAccount",
            "nameLocation": "20740:14:5",
            "parameters": {
              "id": 6337,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6334,
                  "mutability": "mutable",
                  "name": "who",
                  "nameLocation": "20763:3:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6381,
                  "src": "20755:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6333,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "20755:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6336,
                  "mutability": "mutable",
                  "name": "beneficiary",
                  "nameLocation": "20776:11:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6381,
                  "src": "20768:19:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6335,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "20768:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "20754:34:5"
            },
            "returnParameters": {
              "id": 6338,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "20806:0:5"
            },
            "scope": 6570,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6401,
            "nodeType": "FunctionDefinition",
            "src": "21166:158:5",
            "nodes": [],
            "body": {
              "id": 6400,
              "nodeType": "Block",
              "src": "21257:67:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "id": 6398,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "components": [
                        {
                          "expression": {
                            "id": 6389,
                            "name": "account",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6387,
                            "src": "21268:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Account_$4830_memory_ptr",
                              "typeString": "struct StdCheatsSafe.Account memory"
                            }
                          },
                          "id": 6391,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberLocation": "21276:4:5",
                          "memberName": "addr",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4827,
                          "src": "21268:12:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "expression": {
                            "id": 6392,
                            "name": "account",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6387,
                            "src": "21282:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Account_$4830_memory_ptr",
                              "typeString": "struct StdCheatsSafe.Account memory"
                            }
                          },
                          "id": 6393,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": true,
                          "memberLocation": "21290:3:5",
                          "memberName": "key",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4829,
                          "src": "21282:11:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 6394,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "21267:27:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$",
                        "typeString": "tuple(address,uint256)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 6396,
                          "name": "name",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6383,
                          "src": "21312:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        ],
                        "id": 6395,
                        "name": "makeAddrAndKey",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6317,
                        "src": "21297:14:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$",
                          "typeString": "function (string memory) returns (address,uint256)"
                        }
                      },
                      "id": 6397,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "21297:20:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$",
                        "typeString": "tuple(address,uint256)"
                      }
                    },
                    "src": "21267:50:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6399,
                  "nodeType": "ExpressionStatement",
                  "src": "21267:50:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "makeAccount",
            "nameLocation": "21175:11:5",
            "parameters": {
              "id": 6384,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6383,
                  "mutability": "mutable",
                  "name": "name",
                  "nameLocation": "21201:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6401,
                  "src": "21187:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6382,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "21187:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21186:20:5"
            },
            "returnParameters": {
              "id": 6388,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6387,
                  "mutability": "mutable",
                  "name": "account",
                  "nameLocation": "21248:7:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6401,
                  "src": "21233:22:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Account_$4830_memory_ptr",
                    "typeString": "struct StdCheatsSafe.Account"
                  },
                  "typeName": {
                    "id": 6386,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 6385,
                      "name": "Account",
                      "nameLocations": [
                        "21233:7:5"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4830,
                      "src": "21233:7:5"
                    },
                    "referencedDeclaration": 4830,
                    "src": "21233:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Account_$4830_storage_ptr",
                      "typeString": "struct StdCheatsSafe.Account"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21232:24:5"
            },
            "scope": 6570,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6428,
            "nodeType": "FunctionDefinition",
            "src": "21330:253:5",
            "nodes": [],
            "body": {
              "id": 6427,
              "nodeType": "Block",
              "src": "21482:101:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "id": 6418,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6412,
                      "name": "privateKey",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6410,
                      "src": "21492:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 6415,
                          "name": "mnemonic",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6403,
                          "src": "21518:8:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "id": 6416,
                          "name": "index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6405,
                          "src": "21528:5:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_uint32",
                            "typeString": "uint32"
                          }
                        ],
                        "expression": {
                          "id": 6413,
                          "name": "vm",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4541,
                          "src": "21505:2:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_Vm_$13464",
                            "typeString": "contract Vm"
                          }
                        },
                        "id": 6414,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "21508:9:5",
                        "memberName": "deriveKey",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 12602,
                        "src": "21505:12:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_pure$_t_string_memory_ptr_$_t_uint32_$returns$_t_uint256_$",
                          "typeString": "function (string memory,uint32) pure external returns (uint256)"
                        }
                      },
                      "id": 6417,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "21505:29:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "21492:42:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6419,
                  "nodeType": "ExpressionStatement",
                  "src": "21492:42:5"
                },
                {
                  "expression": {
                    "id": 6425,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6420,
                      "name": "who",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6408,
                      "src": "21544:3:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 6423,
                          "name": "privateKey",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6410,
                          "src": "21565:10:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "id": 6421,
                          "name": "vm",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4541,
                          "src": "21550:2:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_Vm_$13464",
                            "typeString": "contract Vm"
                          }
                        },
                        "id": 6422,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "21553:11:5",
                        "memberName": "rememberKey",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 12620,
                        "src": "21550:14:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_address_$",
                          "typeString": "function (uint256) external returns (address)"
                        }
                      },
                      "id": 6424,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "21550:26:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "21544:32:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 6426,
                  "nodeType": "ExpressionStatement",
                  "src": "21544:32:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deriveRememberKey",
            "nameLocation": "21339:17:5",
            "parameters": {
              "id": 6406,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6403,
                  "mutability": "mutable",
                  "name": "mnemonic",
                  "nameLocation": "21371:8:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6428,
                  "src": "21357:22:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6402,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "21357:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6405,
                  "mutability": "mutable",
                  "name": "index",
                  "nameLocation": "21388:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6428,
                  "src": "21381:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 6404,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "21381:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21356:38:5"
            },
            "returnParameters": {
              "id": 6411,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6408,
                  "mutability": "mutable",
                  "name": "who",
                  "nameLocation": "21453:3:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6428,
                  "src": "21445:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6407,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "21445:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6410,
                  "mutability": "mutable",
                  "name": "privateKey",
                  "nameLocation": "21466:10:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6428,
                  "src": "21458:18:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6409,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "21458:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21444:33:5"
            },
            "scope": 6570,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6462,
            "nodeType": "FunctionDefinition",
            "src": "21589:253:5",
            "nodes": [],
            "body": {
              "id": 6461,
              "nodeType": "Block",
              "src": "21658:184:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 6439,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 6436,
                            "name": "b",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6430,
                            "src": "21676:1:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          "id": 6437,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "21678:6:5",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "21676:8:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "hexValue": "3332",
                          "id": 6438,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "21688:2:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_32_by_1",
                            "typeString": "int_const 32"
                          },
                          "value": "32"
                        },
                        "src": "21676:14:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "537464436865617473205f6279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e",
                        "id": 6440,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "21692:57:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b4b692fb570df93e970ec8540fb3e2b3774022687951840fb5414e81f7899b71",
                          "typeString": "literal_string \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\""
                        },
                        "value": "StdCheats _bytesToUint(bytes): Bytes length exceeds 32."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b4b692fb570df93e970ec8540fb3e2b3774022687951840fb5414e81f7899b71",
                          "typeString": "literal_string \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\""
                        }
                      ],
                      "id": 6435,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "21668:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 6441,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21668:82:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6442,
                  "nodeType": "ExpressionStatement",
                  "src": "21668:82:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 6452,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "hexValue": "3332",
                                  "id": 6449,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "21805:2:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_32_by_1",
                                    "typeString": "int_const 32"
                                  },
                                  "value": "32"
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "-",
                                "rightExpression": {
                                  "expression": {
                                    "id": 6450,
                                    "name": "b",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6430,
                                    "src": "21810:1:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  "id": 6451,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "21812:6:5",
                                  "memberName": "length",
                                  "nodeType": "MemberAccess",
                                  "src": "21810:8:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "21805:13:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 6448,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "NewExpression",
                              "src": "21795:9:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function (uint256) pure returns (bytes memory)"
                              },
                              "typeName": {
                                "id": 6447,
                                "name": "bytes",
                                "nodeType": "ElementaryTypeName",
                                "src": "21799:5:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_storage_ptr",
                                  "typeString": "bytes"
                                }
                              }
                            },
                            "id": 6453,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "21795:24:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          {
                            "id": 6454,
                            "name": "b",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6430,
                            "src": "21821:1:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            },
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "expression": {
                            "id": 6445,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "21778:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 6446,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "21782:12:5",
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "src": "21778:16:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 6455,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "21778:45:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "components": [
                          {
                            "id": 6457,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "21826:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint256_$",
                              "typeString": "type(uint256)"
                            },
                            "typeName": {
                              "id": 6456,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "21826:7:5",
                              "typeDescriptions": {}
                            }
                          }
                        ],
                        "id": 6458,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "21825:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        }
                      ],
                      "expression": {
                        "id": 6443,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "21767:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 6444,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "21771:6:5",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "21767:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 6459,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21767:68:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 6434,
                  "id": 6460,
                  "nodeType": "Return",
                  "src": "21760:75:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_bytesToUint",
            "nameLocation": "21598:12:5",
            "parameters": {
              "id": 6431,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6430,
                  "mutability": "mutable",
                  "name": "b",
                  "nameLocation": "21624:1:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6462,
                  "src": "21611:14:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 6429,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "21611:5:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21610:16:5"
            },
            "returnParameters": {
              "id": 6434,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6433,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 6462,
                  "src": "21649:7:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6432,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "21649:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21648:9:5"
            },
            "scope": 6570,
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          },
          {
            "id": 6483,
            "nodeType": "FunctionDefinition",
            "src": "21848:160:5",
            "nodes": [],
            "body": {
              "id": 6482,
              "nodeType": "Block",
              "src": "21910:98:5",
              "nodes": [],
              "statements": [
                {
                  "clauses": [
                    {
                      "block": {
                        "id": 6474,
                        "nodeType": "Block",
                        "src": "21940:38:5",
                        "statements": [
                          {
                            "expression": {
                              "id": 6472,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "id": 6470,
                                "name": "status",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6465,
                                "src": "21954:6:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "hexValue": "74727565",
                                "id": 6471,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "21963:4:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              },
                              "src": "21954:13:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "id": 6473,
                            "nodeType": "ExpressionStatement",
                            "src": "21954:13:5"
                          }
                        ]
                      },
                      "errorName": "",
                      "id": 6475,
                      "nodeType": "TryCatchClause",
                      "src": "21940:38:5"
                    },
                    {
                      "block": {
                        "id": 6479,
                        "nodeType": "Block",
                        "src": "22000:2:5",
                        "statements": []
                      },
                      "errorName": "",
                      "id": 6480,
                      "nodeType": "TryCatchClause",
                      "parameters": {
                        "id": 6478,
                        "nodeType": "ParameterList",
                        "parameters": [
                          {
                            "constant": false,
                            "id": 6477,
                            "mutability": "mutable",
                            "name": "",
                            "nameLocation": "-1:-1:-1",
                            "nodeType": "VariableDeclaration",
                            "scope": 6480,
                            "src": "21986:12:5",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 6476,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "21986:5:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "src": "21985:14:5"
                      },
                      "src": "21979:23:5"
                    }
                  ],
                  "externalCall": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 6467,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "21924:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6468,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "21927:10:5",
                      "memberName": "activeFork",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13377,
                      "src": "21924:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                        "typeString": "function () view external returns (uint256)"
                      }
                    },
                    "id": 6469,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "21924:15:5",
                    "tryCall": true,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6481,
                  "nodeType": "TryStatement",
                  "src": "21920:82:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "isFork",
            "nameLocation": "21857:6:5",
            "parameters": {
              "id": 6463,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "21863:2:5"
            },
            "returnParameters": {
              "id": 6466,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6465,
                  "mutability": "mutable",
                  "name": "status",
                  "nameLocation": "21902:6:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6483,
                  "src": "21897:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 6464,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "21897:4:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "21896:13:5"
            },
            "scope": 6570,
            "stateMutability": "view",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6492,
            "nodeType": "ModifierDefinition",
            "src": "22014:84:5",
            "nodes": [],
            "body": {
              "id": 6491,
              "nodeType": "Block",
              "src": "22041:57:5",
              "nodes": [],
              "statements": [
                {
                  "condition": {
                    "id": 6487,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "!",
                    "prefix": true,
                    "src": "22055:9:5",
                    "subExpression": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 6485,
                        "name": "isFork",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6483,
                        "src": "22056:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                          "typeString": "function () view returns (bool)"
                        }
                      },
                      "id": 6486,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "22056:8:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 6490,
                  "nodeType": "IfStatement",
                  "src": "22051:41:5",
                  "trueBody": {
                    "id": 6489,
                    "nodeType": "Block",
                    "src": "22066:26:5",
                    "statements": [
                      {
                        "id": 6488,
                        "nodeType": "PlaceholderStatement",
                        "src": "22080:1:5"
                      }
                    ]
                  }
                }
              ]
            },
            "name": "skipWhenForking",
            "nameLocation": "22023:15:5",
            "parameters": {
              "id": 6484,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "22038:2:5"
            },
            "virtual": false,
            "visibility": "internal"
          },
          {
            "id": 6500,
            "nodeType": "ModifierDefinition",
            "src": "22104:86:5",
            "nodes": [],
            "body": {
              "id": 6499,
              "nodeType": "Block",
              "src": "22134:56:5",
              "nodes": [],
              "statements": [
                {
                  "condition": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 6494,
                      "name": "isFork",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6483,
                      "src": "22148:6:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                        "typeString": "function () view returns (bool)"
                      }
                    },
                    "id": 6495,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22148:8:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 6498,
                  "nodeType": "IfStatement",
                  "src": "22144:40:5",
                  "trueBody": {
                    "id": 6497,
                    "nodeType": "Block",
                    "src": "22158:26:5",
                    "statements": [
                      {
                        "id": 6496,
                        "nodeType": "PlaceholderStatement",
                        "src": "22172:1:5"
                      }
                    ]
                  }
                }
              ]
            },
            "name": "skipWhenNotForking",
            "nameLocation": "22113:18:5",
            "parameters": {
              "id": 6493,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "22131:2:5"
            },
            "virtual": false,
            "visibility": "internal"
          },
          {
            "id": 6530,
            "nodeType": "ModifierDefinition",
            "src": "22196:884:5",
            "nodes": [],
            "body": {
              "id": 6529,
              "nodeType": "Block",
              "src": "22221:859:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 6502,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4541,
                        "src": "22231:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6504,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "22234:16:5",
                      "memberName": "pauseGasMetering",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12976,
                      "src": "22231:19:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 6505,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "22231:21:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6506,
                  "nodeType": "ExpressionStatement",
                  "src": "22231:21:5"
                },
                {
                  "assignments": [
                    6508
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6508,
                      "mutability": "mutable",
                      "name": "gasStartedOff",
                      "nameLocation": "22795:13:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 6529,
                      "src": "22790:18:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 6507,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "22790:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6510,
                  "initialValue": {
                    "id": 6509,
                    "name": "gasMeteringOff",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4546,
                    "src": "22811:14:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "22790:35:5"
                },
                {
                  "expression": {
                    "id": 6513,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6511,
                      "name": "gasMeteringOff",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4546,
                      "src": "22835:14:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "hexValue": "74727565",
                      "id": 6512,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "22852:4:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "22835:21:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 6514,
                  "nodeType": "ExpressionStatement",
                  "src": "22835:21:5"
                },
                {
                  "id": 6515,
                  "nodeType": "PlaceholderStatement",
                  "src": "22867:1:5"
                },
                {
                  "condition": {
                    "id": 6517,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "!",
                    "prefix": true,
                    "src": "22975:14:5",
                    "subExpression": {
                      "id": 6516,
                      "name": "gasStartedOff",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6508,
                      "src": "22976:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 6528,
                  "nodeType": "IfStatement",
                  "src": "22971:103:5",
                  "trueBody": {
                    "id": 6527,
                    "nodeType": "Block",
                    "src": "22991:83:5",
                    "statements": [
                      {
                        "expression": {
                          "id": 6520,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 6518,
                            "name": "gasMeteringOff",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4546,
                            "src": "23005:14:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "hexValue": "66616c7365",
                            "id": 6519,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "23022:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "false"
                          },
                          "src": "23005:22:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 6521,
                        "nodeType": "ExpressionStatement",
                        "src": "23005:22:5"
                      },
                      {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "id": 6522,
                              "name": "vm",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4541,
                              "src": "23041:2:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_Vm_$13464",
                                "typeString": "contract Vm"
                              }
                            },
                            "id": 6524,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "23044:17:5",
                            "memberName": "resumeGasMetering",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 12979,
                            "src": "23041:20:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                              "typeString": "function () external"
                            }
                          },
                          "id": 6525,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "23041:22:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6526,
                        "nodeType": "ExpressionStatement",
                        "src": "23041:22:5"
                      }
                    ]
                  }
                }
              ]
            },
            "name": "noGasMetering",
            "nameLocation": "22205:13:5",
            "parameters": {
              "id": 6501,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "22218:2:5"
            },
            "virtual": false,
            "visibility": "internal"
          },
          {
            "id": 6542,
            "nodeType": "FunctionDefinition",
            "src": "23444:276:5",
            "nodes": [],
            "body": {
              "id": 6541,
              "nodeType": "Block",
              "src": "23507:213:5",
              "nodes": [],
              "statements": [
                {
                  "AST": {
                    "nativeSrc": "23602:44:5",
                    "nodeType": "YulBlock",
                    "src": "23602:44:5",
                    "statements": [
                      {
                        "nativeSrc": "23616:20:5",
                        "nodeType": "YulAssignment",
                        "src": "23616:20:5",
                        "value": {
                          "arguments": [],
                          "functionName": {
                            "name": "chainid",
                            "nativeSrc": "23627:7:5",
                            "nodeType": "YulIdentifier",
                            "src": "23627:7:5"
                          },
                          "nativeSrc": "23627:9:5",
                          "nodeType": "YulFunctionCall",
                          "src": "23627:9:5"
                        },
                        "variableNames": [
                          {
                            "name": "chainId",
                            "nativeSrc": "23616:7:5",
                            "nodeType": "YulIdentifier",
                            "src": "23616:7:5"
                          }
                        ]
                      }
                    ]
                  },
                  "evmVersion": "paris",
                  "externalReferences": [
                    {
                      "declaration": 6533,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "23616:7:5",
                      "valueSize": 1
                    }
                  ],
                  "id": 6535,
                  "nodeType": "InlineAssembly",
                  "src": "23593:53:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6538,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -28,
                        "src": "23664:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_StdCheatsSafe_$6570",
                          "typeString": "contract StdCheatsSafe"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_StdCheatsSafe_$6570",
                          "typeString": "contract StdCheatsSafe"
                        }
                      ],
                      "id": 6537,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "23656:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": {
                        "id": 6536,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "23656:7:5",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 6539,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "23656:13:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 6540,
                  "nodeType": "ExpressionStatement",
                  "src": "23656:13:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_viewChainId",
            "nameLocation": "23453:12:5",
            "parameters": {
              "id": 6531,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "23465:2:5"
            },
            "returnParameters": {
              "id": 6534,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6533,
                  "mutability": "mutable",
                  "name": "chainId",
                  "nameLocation": "23498:7:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6542,
                  "src": "23490:15:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6532,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "23490:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "23489:17:5"
            },
            "scope": 6570,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "private"
          },
          {
            "id": 6569,
            "nodeType": "FunctionDefinition",
            "src": "23726:300:5",
            "nodes": [],
            "body": {
              "id": 6568,
              "nodeType": "Block",
              "src": "23789:237:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    6552
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6552,
                      "mutability": "mutable",
                      "name": "fnIn",
                      "nameLocation": "23842:4:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 6568,
                      "src": "23799:47:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
                        "typeString": "function () view returns (uint256)"
                      },
                      "typeName": {
                        "id": 6551,
                        "nodeType": "FunctionTypeName",
                        "parameterTypes": {
                          "id": 6547,
                          "nodeType": "ParameterList",
                          "parameters": [],
                          "src": "23807:2:5"
                        },
                        "returnParameterTypes": {
                          "id": 6550,
                          "nodeType": "ParameterList",
                          "parameters": [
                            {
                              "constant": false,
                              "id": 6549,
                              "mutability": "mutable",
                              "name": "",
                              "nameLocation": "-1:-1:-1",
                              "nodeType": "VariableDeclaration",
                              "scope": 6551,
                              "src": "23833:7:5",
                              "stateVariable": false,
                              "storageLocation": "default",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "typeName": {
                                "id": 6548,
                                "name": "uint256",
                                "nodeType": "ElementaryTypeName",
                                "src": "23833:7:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "visibility": "internal"
                            }
                          ],
                          "src": "23832:9:5"
                        },
                        "src": "23799:47:5",
                        "stateMutability": "view",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
                          "typeString": "function () view returns (uint256)"
                        },
                        "visibility": "internal"
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6554,
                  "initialValue": {
                    "id": 6553,
                    "name": "_viewChainId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6542,
                    "src": "23849:12:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$",
                      "typeString": "function () view returns (uint256)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "23799:62:5"
                },
                {
                  "assignments": [
                    6560
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6560,
                      "mutability": "mutable",
                      "name": "pureChainId",
                      "nameLocation": "23914:11:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 6568,
                      "src": "23871:54:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$__$returns$_t_uint256_$",
                        "typeString": "function () pure returns (uint256)"
                      },
                      "typeName": {
                        "id": 6559,
                        "nodeType": "FunctionTypeName",
                        "parameterTypes": {
                          "id": 6555,
                          "nodeType": "ParameterList",
                          "parameters": [],
                          "src": "23879:2:5"
                        },
                        "returnParameterTypes": {
                          "id": 6558,
                          "nodeType": "ParameterList",
                          "parameters": [
                            {
                              "constant": false,
                              "id": 6557,
                              "mutability": "mutable",
                              "name": "",
                              "nameLocation": "-1:-1:-1",
                              "nodeType": "VariableDeclaration",
                              "scope": 6559,
                              "src": "23905:7:5",
                              "stateVariable": false,
                              "storageLocation": "default",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "typeName": {
                                "id": 6556,
                                "name": "uint256",
                                "nodeType": "ElementaryTypeName",
                                "src": "23905:7:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "visibility": "internal"
                            }
                          ],
                          "src": "23904:9:5"
                        },
                        "src": "23871:54:5",
                        "stateMutability": "pure",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$__$returns$_t_uint256_$",
                          "typeString": "function () pure returns (uint256)"
                        },
                        "visibility": "internal"
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6561,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "23871:54:5"
                },
                {
                  "AST": {
                    "nativeSrc": "23944:43:5",
                    "nodeType": "YulBlock",
                    "src": "23944:43:5",
                    "statements": [
                      {
                        "nativeSrc": "23958:19:5",
                        "nodeType": "YulAssignment",
                        "src": "23958:19:5",
                        "value": {
                          "name": "fnIn",
                          "nativeSrc": "23973:4:5",
                          "nodeType": "YulIdentifier",
                          "src": "23973:4:5"
                        },
                        "variableNames": [
                          {
                            "name": "pureChainId",
                            "nativeSrc": "23958:11:5",
                            "nodeType": "YulIdentifier",
                            "src": "23958:11:5"
                          }
                        ]
                      }
                    ]
                  },
                  "evmVersion": "paris",
                  "externalReferences": [
                    {
                      "declaration": 6552,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "23973:4:5",
                      "valueSize": 1
                    },
                    {
                      "declaration": 6560,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "23958:11:5",
                      "valueSize": 1
                    }
                  ],
                  "id": 6562,
                  "nodeType": "InlineAssembly",
                  "src": "23935:52:5"
                },
                {
                  "expression": {
                    "id": 6566,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 6563,
                      "name": "chainId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6545,
                      "src": "23996:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 6564,
                        "name": "pureChainId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6560,
                        "src": "24006:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$__$returns$_t_uint256_$",
                          "typeString": "function () pure returns (uint256)"
                        }
                      },
                      "id": 6565,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "24006:13:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "23996:23:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 6567,
                  "nodeType": "ExpressionStatement",
                  "src": "23996:23:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_pureChainId",
            "nameLocation": "23735:12:5",
            "parameters": {
              "id": 6543,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "23747:2:5"
            },
            "returnParameters": {
              "id": 6546,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6545,
                  "mutability": "mutable",
                  "name": "chainId",
                  "nameLocation": "23780:7:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6569,
                  "src": "23772:15:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6544,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "23772:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "23771:17:5"
            },
            "scope": 6570,
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          }
        ],
        "abstract": true,
        "baseContracts": [],
        "canonicalName": "StdCheatsSafe",
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": true,
        "linearizedBaseContracts": [
          6570
        ],
        "name": "StdCheatsSafe",
        "nameLocation": "205:13:5",
        "scope": 7335,
        "usedErrors": [],
        "usedEvents": []
      },
      {
        "id": 7334,
        "nodeType": "ContractDefinition",
        "src": "24078:6734:5",
        "nodes": [
          {
            "id": 6576,
            "nodeType": "UsingForDirective",
            "src": "24129:32:5",
            "nodes": [],
            "global": false,
            "libraryName": {
              "id": 6573,
              "name": "stdStorage",
              "nameLocations": [
                "24135:10:5"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 9827,
              "src": "24135:10:5"
            },
            "typeName": {
              "id": 6575,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 6574,
                "name": "StdStorage",
                "nameLocations": [
                  "24150:10:5"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 8374,
                "src": "24150:10:5"
              },
              "referencedDeclaration": 8374,
              "src": "24150:10:5",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                "typeString": "struct StdStorage"
              }
            }
          },
          {
            "id": 6579,
            "nodeType": "VariableDeclaration",
            "src": "24167:27:5",
            "nodes": [],
            "constant": false,
            "mutability": "mutable",
            "name": "stdstore",
            "nameLocation": "24186:8:5",
            "scope": 7334,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_struct$_StdStorage_$8374_storage",
              "typeString": "struct StdStorage"
            },
            "typeName": {
              "id": 6578,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 6577,
                "name": "StdStorage",
                "nameLocations": [
                  "24167:10:5"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 8374,
                "src": "24167:10:5"
              },
              "referencedDeclaration": 8374,
              "src": "24167:10:5",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                "typeString": "struct StdStorage"
              }
            },
            "visibility": "private"
          },
          {
            "id": 6596,
            "nodeType": "VariableDeclaration",
            "src": "24200:84:5",
            "nodes": [],
            "constant": true,
            "mutability": "constant",
            "name": "vm",
            "nameLocation": "24220:2:5",
            "scope": 7334,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_Vm_$13464",
              "typeString": "contract Vm"
            },
            "typeName": {
              "id": 6581,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 6580,
                "name": "Vm",
                "nameLocations": [
                  "24200:2:5"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 13464,
                "src": "24200:2:5"
              },
              "referencedDeclaration": 13464,
              "src": "24200:2:5",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Vm_$13464",
                "typeString": "contract Vm"
              }
            },
            "value": {
              "arguments": [
                {
                  "arguments": [
                    {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "hexValue": "6865766d20636865617420636f6465",
                                  "id": 6590,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "string",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "24262:17:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d",
                                    "typeString": "literal_string \"hevm cheat code\""
                                  },
                                  "value": "hevm cheat code"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d",
                                    "typeString": "literal_string \"hevm cheat code\""
                                  }
                                ],
                                "id": 6589,
                                "name": "keccak256",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -8,
                                "src": "24252:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                  "typeString": "function (bytes memory) pure returns (bytes32)"
                                }
                              },
                              "id": 6591,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "24252:28:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 6588,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "24244:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint256_$",
                              "typeString": "type(uint256)"
                            },
                            "typeName": {
                              "id": 6587,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "24244:7:5",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 6592,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "24244:37:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 6586,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "24236:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint160_$",
                          "typeString": "type(uint160)"
                        },
                        "typeName": {
                          "id": 6585,
                          "name": "uint160",
                          "nodeType": "ElementaryTypeName",
                          "src": "24236:7:5",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 6593,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "24236:46:5",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint160",
                        "typeString": "uint160"
                      }
                    }
                  ],
                  "expression": {
                    "argumentTypes": [
                      {
                        "typeIdentifier": "t_uint160",
                        "typeString": "uint160"
                      }
                    ],
                    "id": 6584,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "nodeType": "ElementaryTypeNameExpression",
                    "src": "24228:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_type$_t_address_$",
                      "typeString": "type(address)"
                    },
                    "typeName": {
                      "id": 6583,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "24228:7:5",
                      "typeDescriptions": {}
                    }
                  },
                  "id": 6594,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "typeConversion",
                  "lValueRequested": false,
                  "nameLocations": [],
                  "names": [],
                  "nodeType": "FunctionCall",
                  "src": "24228:55:5",
                  "tryCall": false,
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                ],
                "id": 6582,
                "name": "Vm",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 13464,
                "src": "24225:2:5",
                "typeDescriptions": {
                  "typeIdentifier": "t_type$_t_contract$_Vm_$13464_$",
                  "typeString": "type(contract Vm)"
                }
              },
              "id": 6595,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "typeConversion",
              "lValueRequested": false,
              "nameLocations": [],
              "names": [],
              "nodeType": "FunctionCall",
              "src": "24225:59:5",
              "tryCall": false,
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Vm_$13464",
                "typeString": "contract Vm"
              }
            },
            "visibility": "private"
          },
          {
            "id": 6611,
            "nodeType": "FunctionDefinition",
            "src": "24361:93:5",
            "nodes": [],
            "body": {
              "id": 6610,
              "nodeType": "Block",
              "src": "24406:48:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 6607,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 6604,
                            "name": "block",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -4,
                            "src": "24424:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_block",
                              "typeString": "block"
                            }
                          },
                          "id": 6605,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "24430:9:5",
                          "memberName": "timestamp",
                          "nodeType": "MemberAccess",
                          "src": "24424:15:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "+",
                        "rightExpression": {
                          "id": 6606,
                          "name": "time",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6598,
                          "src": "24442:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "24424:22:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6601,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "24416:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6603,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24419:4:5",
                      "memberName": "warp",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12999,
                      "src": "24416:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256) external"
                      }
                    },
                    "id": 6608,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24416:31:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6609,
                  "nodeType": "ExpressionStatement",
                  "src": "24416:31:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "skip",
            "nameLocation": "24370:4:5",
            "parameters": {
              "id": 6599,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6598,
                  "mutability": "mutable",
                  "name": "time",
                  "nameLocation": "24383:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6611,
                  "src": "24375:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6597,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "24375:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "24374:14:5"
            },
            "returnParameters": {
              "id": 6600,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "24406:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6626,
            "nodeType": "FunctionDefinition",
            "src": "24460:95:5",
            "nodes": [],
            "body": {
              "id": 6625,
              "nodeType": "Block",
              "src": "24507:48:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 6622,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 6619,
                            "name": "block",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -4,
                            "src": "24525:5:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_block",
                              "typeString": "block"
                            }
                          },
                          "id": 6620,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "24531:9:5",
                          "memberName": "timestamp",
                          "nodeType": "MemberAccess",
                          "src": "24525:15:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "id": 6621,
                          "name": "time",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6613,
                          "src": "24543:4:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "24525:22:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6616,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "24517:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6618,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24520:4:5",
                      "memberName": "warp",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12999,
                      "src": "24517:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256) external"
                      }
                    },
                    "id": 6623,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24517:31:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6624,
                  "nodeType": "ExpressionStatement",
                  "src": "24517:31:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "rewind",
            "nameLocation": "24469:6:5",
            "parameters": {
              "id": 6614,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6613,
                  "mutability": "mutable",
                  "name": "time",
                  "nameLocation": "24484:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6626,
                  "src": "24476:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6612,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "24476:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "24475:14:5"
            },
            "returnParameters": {
              "id": 6615,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "24507:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6647,
            "nodeType": "FunctionDefinition",
            "src": "24618:124:5",
            "nodes": [],
            "body": {
              "id": 6646,
              "nodeType": "Block",
              "src": "24668:74:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6634,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6628,
                        "src": "24686:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "commonType": {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        },
                        "id": 6637,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "hexValue": "31",
                          "id": 6635,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "24697:1:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<<",
                        "rightExpression": {
                          "hexValue": "313238",
                          "id": 6636,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "24702:3:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_128_by_1",
                            "typeString": "int_const 128"
                          },
                          "value": "128"
                        },
                        "src": "24697:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        }
                      ],
                      "expression": {
                        "id": 6631,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "24678:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6633,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24681:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13101,
                      "src": "24678:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 6638,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24678:28:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6639,
                  "nodeType": "ExpressionStatement",
                  "src": "24678:28:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6643,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6628,
                        "src": "24725:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 6640,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "24716:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6642,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24719:5:5",
                      "memberName": "prank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13062,
                      "src": "24716:8:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address) external"
                      }
                    },
                    "id": 6644,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24716:19:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6645,
                  "nodeType": "ExpressionStatement",
                  "src": "24716:19:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hoax",
            "nameLocation": "24627:4:5",
            "parameters": {
              "id": 6629,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6628,
                  "mutability": "mutable",
                  "name": "msgSender",
                  "nameLocation": "24640:9:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6647,
                  "src": "24632:17:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6627,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "24632:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "24631:19:5"
            },
            "returnParameters": {
              "id": 6630,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "24668:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6668,
            "nodeType": "FunctionDefinition",
            "src": "24748:134:5",
            "nodes": [],
            "body": {
              "id": 6667,
              "nodeType": "Block",
              "src": "24812:70:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6657,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6649,
                        "src": "24830:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6658,
                        "name": "give",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6651,
                        "src": "24841:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6654,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "24822:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6656,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24825:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13101,
                      "src": "24822:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 6659,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24822:24:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6660,
                  "nodeType": "ExpressionStatement",
                  "src": "24822:24:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6664,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6649,
                        "src": "24865:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 6661,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "24856:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6663,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24859:5:5",
                      "memberName": "prank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13062,
                      "src": "24856:8:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address) external"
                      }
                    },
                    "id": 6665,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24856:19:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6666,
                  "nodeType": "ExpressionStatement",
                  "src": "24856:19:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hoax",
            "nameLocation": "24757:4:5",
            "parameters": {
              "id": 6652,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6649,
                  "mutability": "mutable",
                  "name": "msgSender",
                  "nameLocation": "24770:9:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6668,
                  "src": "24762:17:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6648,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "24762:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6651,
                  "mutability": "mutable",
                  "name": "give",
                  "nameLocation": "24789:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6668,
                  "src": "24781:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6650,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "24781:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "24761:33:5"
            },
            "returnParameters": {
              "id": 6653,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "24812:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6692,
            "nodeType": "FunctionDefinition",
            "src": "24888:148:5",
            "nodes": [],
            "body": {
              "id": 6691,
              "nodeType": "Block",
              "src": "24954:82:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6678,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6670,
                        "src": "24972:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "commonType": {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        },
                        "id": 6681,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "hexValue": "31",
                          "id": 6679,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "24983:1:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<<",
                        "rightExpression": {
                          "hexValue": "313238",
                          "id": 6680,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "24988:3:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_128_by_1",
                            "typeString": "int_const 128"
                          },
                          "value": "128"
                        },
                        "src": "24983:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        }
                      ],
                      "expression": {
                        "id": 6675,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "24964:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6677,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "24967:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13101,
                      "src": "24964:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 6682,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "24964:28:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6683,
                  "nodeType": "ExpressionStatement",
                  "src": "24964:28:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6687,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6670,
                        "src": "25011:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6688,
                        "name": "origin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6672,
                        "src": "25022:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 6684,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "25002:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6686,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "25005:5:5",
                      "memberName": "prank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13074,
                      "src": "25002:8:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$",
                        "typeString": "function (address,address) external"
                      }
                    },
                    "id": 6689,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25002:27:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6690,
                  "nodeType": "ExpressionStatement",
                  "src": "25002:27:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hoax",
            "nameLocation": "24897:4:5",
            "parameters": {
              "id": 6673,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6670,
                  "mutability": "mutable",
                  "name": "msgSender",
                  "nameLocation": "24910:9:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6692,
                  "src": "24902:17:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6669,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "24902:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6672,
                  "mutability": "mutable",
                  "name": "origin",
                  "nameLocation": "24929:6:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6692,
                  "src": "24921:14:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6671,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "24921:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "24901:35:5"
            },
            "returnParameters": {
              "id": 6674,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "24954:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6716,
            "nodeType": "FunctionDefinition",
            "src": "25042:158:5",
            "nodes": [],
            "body": {
              "id": 6715,
              "nodeType": "Block",
              "src": "25122:78:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6704,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6694,
                        "src": "25140:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6705,
                        "name": "give",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6698,
                        "src": "25151:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6701,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "25132:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6703,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "25135:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13101,
                      "src": "25132:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 6706,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25132:24:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6707,
                  "nodeType": "ExpressionStatement",
                  "src": "25132:24:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6711,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6694,
                        "src": "25175:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6712,
                        "name": "origin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6696,
                        "src": "25186:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 6708,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "25166:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6710,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "25169:5:5",
                      "memberName": "prank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13074,
                      "src": "25166:8:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$",
                        "typeString": "function (address,address) external"
                      }
                    },
                    "id": 6713,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25166:27:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6714,
                  "nodeType": "ExpressionStatement",
                  "src": "25166:27:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hoax",
            "nameLocation": "25051:4:5",
            "parameters": {
              "id": 6699,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6694,
                  "mutability": "mutable",
                  "name": "msgSender",
                  "nameLocation": "25064:9:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6716,
                  "src": "25056:17:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6693,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "25056:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6696,
                  "mutability": "mutable",
                  "name": "origin",
                  "nameLocation": "25083:6:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6716,
                  "src": "25075:14:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6695,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "25075:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6698,
                  "mutability": "mutable",
                  "name": "give",
                  "nameLocation": "25099:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6716,
                  "src": "25091:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6697,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "25091:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "25055:49:5"
            },
            "returnParameters": {
              "id": 6700,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "25122:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6737,
            "nodeType": "FunctionDefinition",
            "src": "25271:134:5",
            "nodes": [],
            "body": {
              "id": 6736,
              "nodeType": "Block",
              "src": "25326:79:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6724,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6718,
                        "src": "25344:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "commonType": {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        },
                        "id": 6727,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "hexValue": "31",
                          "id": 6725,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "25355:1:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<<",
                        "rightExpression": {
                          "hexValue": "313238",
                          "id": 6726,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "25360:3:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_128_by_1",
                            "typeString": "int_const 128"
                          },
                          "value": "128"
                        },
                        "src": "25355:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        }
                      ],
                      "expression": {
                        "id": 6721,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "25336:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6723,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "25339:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13101,
                      "src": "25336:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 6728,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25336:28:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6729,
                  "nodeType": "ExpressionStatement",
                  "src": "25336:28:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6733,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6718,
                        "src": "25388:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 6730,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "25374:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6732,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "25377:10:5",
                      "memberName": "startPrank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13067,
                      "src": "25374:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address) external"
                      }
                    },
                    "id": 6734,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25374:24:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6735,
                  "nodeType": "ExpressionStatement",
                  "src": "25374:24:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "startHoax",
            "nameLocation": "25280:9:5",
            "parameters": {
              "id": 6719,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6718,
                  "mutability": "mutable",
                  "name": "msgSender",
                  "nameLocation": "25298:9:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6737,
                  "src": "25290:17:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6717,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "25290:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "25289:19:5"
            },
            "returnParameters": {
              "id": 6720,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "25326:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6758,
            "nodeType": "FunctionDefinition",
            "src": "25411:144:5",
            "nodes": [],
            "body": {
              "id": 6757,
              "nodeType": "Block",
              "src": "25480:75:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6747,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6739,
                        "src": "25498:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6748,
                        "name": "give",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6741,
                        "src": "25509:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6744,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "25490:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6746,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "25493:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13101,
                      "src": "25490:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 6749,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25490:24:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6750,
                  "nodeType": "ExpressionStatement",
                  "src": "25490:24:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6754,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6739,
                        "src": "25538:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 6751,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "25524:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6753,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "25527:10:5",
                      "memberName": "startPrank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13067,
                      "src": "25524:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address) external"
                      }
                    },
                    "id": 6755,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25524:24:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6756,
                  "nodeType": "ExpressionStatement",
                  "src": "25524:24:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "startHoax",
            "nameLocation": "25420:9:5",
            "parameters": {
              "id": 6742,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6739,
                  "mutability": "mutable",
                  "name": "msgSender",
                  "nameLocation": "25438:9:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6758,
                  "src": "25430:17:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6738,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "25430:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6741,
                  "mutability": "mutable",
                  "name": "give",
                  "nameLocation": "25457:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6758,
                  "src": "25449:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6740,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "25449:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "25429:33:5"
            },
            "returnParameters": {
              "id": 6743,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "25480:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6782,
            "nodeType": "FunctionDefinition",
            "src": "25674:158:5",
            "nodes": [],
            "body": {
              "id": 6781,
              "nodeType": "Block",
              "src": "25745:87:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6768,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6760,
                        "src": "25763:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "commonType": {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        },
                        "id": 6771,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "hexValue": "31",
                          "id": 6769,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "25774:1:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<<",
                        "rightExpression": {
                          "hexValue": "313238",
                          "id": 6770,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "25779:3:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_128_by_1",
                            "typeString": "int_const 128"
                          },
                          "value": "128"
                        },
                        "src": "25774:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
                          "typeString": "int_const 3402...(31 digits omitted)...1456"
                        }
                      ],
                      "expression": {
                        "id": 6765,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "25755:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6767,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "25758:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13101,
                      "src": "25755:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 6772,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25755:28:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6773,
                  "nodeType": "ExpressionStatement",
                  "src": "25755:28:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6777,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6760,
                        "src": "25807:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6778,
                        "name": "origin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6762,
                        "src": "25818:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 6774,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "25793:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6776,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "25796:10:5",
                      "memberName": "startPrank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13081,
                      "src": "25793:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$",
                        "typeString": "function (address,address) external"
                      }
                    },
                    "id": 6779,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25793:32:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6780,
                  "nodeType": "ExpressionStatement",
                  "src": "25793:32:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "startHoax",
            "nameLocation": "25683:9:5",
            "parameters": {
              "id": 6763,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6760,
                  "mutability": "mutable",
                  "name": "msgSender",
                  "nameLocation": "25701:9:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6782,
                  "src": "25693:17:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6759,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "25693:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6762,
                  "mutability": "mutable",
                  "name": "origin",
                  "nameLocation": "25720:6:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6782,
                  "src": "25712:14:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6761,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "25712:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "25692:35:5"
            },
            "returnParameters": {
              "id": 6764,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "25745:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6806,
            "nodeType": "FunctionDefinition",
            "src": "25838:168:5",
            "nodes": [],
            "body": {
              "id": 6805,
              "nodeType": "Block",
              "src": "25923:83:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6794,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6784,
                        "src": "25941:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6795,
                        "name": "give",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6788,
                        "src": "25952:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6791,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "25933:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6793,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "25936:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13101,
                      "src": "25933:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 6796,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25933:24:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6797,
                  "nodeType": "ExpressionStatement",
                  "src": "25933:24:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6801,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6784,
                        "src": "25981:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6802,
                        "name": "origin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6786,
                        "src": "25992:6:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 6798,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "25967:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6800,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "25970:10:5",
                      "memberName": "startPrank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13081,
                      "src": "25967:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$",
                        "typeString": "function (address,address) external"
                      }
                    },
                    "id": 6803,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "25967:32:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6804,
                  "nodeType": "ExpressionStatement",
                  "src": "25967:32:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "startHoax",
            "nameLocation": "25847:9:5",
            "parameters": {
              "id": 6789,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6784,
                  "mutability": "mutable",
                  "name": "msgSender",
                  "nameLocation": "25865:9:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6806,
                  "src": "25857:17:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6783,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "25857:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6786,
                  "mutability": "mutable",
                  "name": "origin",
                  "nameLocation": "25884:6:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6806,
                  "src": "25876:14:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6785,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "25876:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6788,
                  "mutability": "mutable",
                  "name": "give",
                  "nameLocation": "25900:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6806,
                  "src": "25892:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6787,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "25892:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "25856:49:5"
            },
            "returnParameters": {
              "id": 6790,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "25923:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6823,
            "nodeType": "FunctionDefinition",
            "src": "26012:122:5",
            "nodes": [],
            "body": {
              "id": 6822,
              "nodeType": "Block",
              "src": "26069:65:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 6811,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "26079:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6813,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "26082:9:5",
                      "memberName": "stopPrank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13084,
                      "src": "26079:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 6814,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26079:14:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6815,
                  "nodeType": "ExpressionStatement",
                  "src": "26079:14:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6819,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6808,
                        "src": "26117:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 6816,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "26103:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6818,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "26106:10:5",
                      "memberName": "startPrank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13067,
                      "src": "26103:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address) external"
                      }
                    },
                    "id": 6820,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26103:24:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6821,
                  "nodeType": "ExpressionStatement",
                  "src": "26103:24:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "changePrank",
            "nameLocation": "26021:11:5",
            "parameters": {
              "id": 6809,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6808,
                  "mutability": "mutable",
                  "name": "msgSender",
                  "nameLocation": "26041:9:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6823,
                  "src": "26033:17:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6807,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "26033:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "26032:19:5"
            },
            "returnParameters": {
              "id": 6810,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "26069:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6843,
            "nodeType": "FunctionDefinition",
            "src": "26140:150:5",
            "nodes": [],
            "body": {
              "id": 6842,
              "nodeType": "Block",
              "src": "26215:75:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 6830,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "26225:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6832,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "26228:9:5",
                      "memberName": "stopPrank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13084,
                      "src": "26225:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 6833,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26225:14:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6834,
                  "nodeType": "ExpressionStatement",
                  "src": "26225:14:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6838,
                        "name": "msgSender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6825,
                        "src": "26263:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6839,
                        "name": "txOrigin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6827,
                        "src": "26274:8:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 6835,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "26249:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6837,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "26252:10:5",
                      "memberName": "startPrank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13081,
                      "src": "26249:13:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$",
                        "typeString": "function (address,address) external"
                      }
                    },
                    "id": 6840,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26249:34:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6841,
                  "nodeType": "ExpressionStatement",
                  "src": "26249:34:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "changePrank",
            "nameLocation": "26149:11:5",
            "parameters": {
              "id": 6828,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6825,
                  "mutability": "mutable",
                  "name": "msgSender",
                  "nameLocation": "26169:9:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6843,
                  "src": "26161:17:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6824,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "26161:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6827,
                  "mutability": "mutable",
                  "name": "txOrigin",
                  "nameLocation": "26188:8:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6843,
                  "src": "26180:16:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6826,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "26180:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "26160:37:5"
            },
            "returnParameters": {
              "id": 6829,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "26215:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6858,
            "nodeType": "FunctionDefinition",
            "src": "26381:91:5",
            "nodes": [],
            "body": {
              "id": 6857,
              "nodeType": "Block",
              "src": "26438:34:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6853,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6845,
                        "src": "26456:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6854,
                        "name": "give",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6847,
                        "src": "26460:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 6850,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "26448:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 6852,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "26451:4:5",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13101,
                      "src": "26448:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 6855,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26448:17:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6856,
                  "nodeType": "ExpressionStatement",
                  "src": "26448:17:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deal",
            "nameLocation": "26390:4:5",
            "parameters": {
              "id": 6848,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6845,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "26403:2:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6858,
                  "src": "26395:10:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6844,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "26395:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6847,
                  "mutability": "mutable",
                  "name": "give",
                  "nameLocation": "26415:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6858,
                  "src": "26407:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6846,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "26407:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "26394:26:5"
            },
            "returnParameters": {
              "id": 6849,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "26438:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6875,
            "nodeType": "FunctionDefinition",
            "src": "26596:117:5",
            "nodes": [],
            "body": {
              "id": 6874,
              "nodeType": "Block",
              "src": "26668:45:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6868,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6860,
                        "src": "26683:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6869,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6862,
                        "src": "26690:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6870,
                        "name": "give",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6864,
                        "src": "26694:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "hexValue": "66616c7365",
                        "id": 6871,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "26700:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "false"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 6867,
                      "name": "deal",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        6858,
                        6875,
                        6998
                      ],
                      "referencedDeclaration": 6998,
                      "src": "26678:4:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (address,address,uint256,bool)"
                      }
                    },
                    "id": 6872,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26678:28:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6873,
                  "nodeType": "ExpressionStatement",
                  "src": "26678:28:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deal",
            "nameLocation": "26605:4:5",
            "parameters": {
              "id": 6865,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6860,
                  "mutability": "mutable",
                  "name": "token",
                  "nameLocation": "26618:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6875,
                  "src": "26610:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6859,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "26610:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6862,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "26633:2:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6875,
                  "src": "26625:10:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6861,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "26625:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6864,
                  "mutability": "mutable",
                  "name": "give",
                  "nameLocation": "26645:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6875,
                  "src": "26637:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6863,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "26637:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "26609:41:5"
            },
            "returnParameters": {
              "id": 6866,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "26668:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6895,
            "nodeType": "FunctionDefinition",
            "src": "26839:147:5",
            "nodes": [],
            "body": {
              "id": 6894,
              "nodeType": "Block",
              "src": "26930:56:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6887,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6877,
                        "src": "26952:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6888,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6879,
                        "src": "26959:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 6889,
                        "name": "id",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6881,
                        "src": "26963:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "id": 6890,
                        "name": "give",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6883,
                        "src": "26967:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "hexValue": "66616c7365",
                        "id": 6891,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "26973:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "false"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 6886,
                      "name": "dealERC1155",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        6895,
                        7119
                      ],
                      "referencedDeclaration": 7119,
                      "src": "26940:11:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$returns$__$",
                        "typeString": "function (address,address,uint256,uint256,bool)"
                      }
                    },
                    "id": 6892,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "26940:39:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6893,
                  "nodeType": "ExpressionStatement",
                  "src": "26940:39:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "dealERC1155",
            "nameLocation": "26848:11:5",
            "parameters": {
              "id": 6884,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6877,
                  "mutability": "mutable",
                  "name": "token",
                  "nameLocation": "26868:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6895,
                  "src": "26860:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6876,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "26860:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6879,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "26883:2:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6895,
                  "src": "26875:10:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6878,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "26875:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6881,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "26895:2:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6895,
                  "src": "26887:10:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6880,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "26887:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6883,
                  "mutability": "mutable",
                  "name": "give",
                  "nameLocation": "26907:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6895,
                  "src": "26899:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6882,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "26899:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "26859:53:5"
            },
            "returnParameters": {
              "id": 6885,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "26930:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 6998,
            "nodeType": "FunctionDefinition",
            "src": "26992:837:5",
            "nodes": [],
            "body": {
              "id": 6997,
              "nodeType": "Block",
              "src": "27077:752:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    null,
                    6907
                  ],
                  "declarations": [
                    null,
                    {
                      "constant": false,
                      "id": 6907,
                      "mutability": "mutable",
                      "name": "balData",
                      "nameLocation": "27134:7:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 6997,
                      "src": "27121:20:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 6906,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "27121:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6916,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "hexValue": "30783730613038323331",
                            "id": 6912,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "27185:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1889567281_by_1",
                              "typeString": "int_const 1889567281"
                            },
                            "value": "0x70a08231"
                          },
                          {
                            "id": 6913,
                            "name": "to",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6899,
                            "src": "27197:2:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_1889567281_by_1",
                              "typeString": "int_const 1889567281"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "id": 6910,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "27162:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 6911,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "27166:18:5",
                          "memberName": "encodeWithSelector",
                          "nodeType": "MemberAccess",
                          "src": "27162:22:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes4) pure returns (bytes memory)"
                          }
                        },
                        "id": 6914,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "27162:38:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 6908,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6897,
                        "src": "27145:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 6909,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "27151:10:5",
                      "memberName": "staticcall",
                      "nodeType": "MemberAccess",
                      "src": "27145:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                        "typeString": "function (bytes memory) view returns (bool,bytes memory)"
                      }
                    },
                    "id": 6915,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "27145:56:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                      "typeString": "tuple(bool,bytes memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "27118:83:5"
                },
                {
                  "assignments": [
                    6918
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 6918,
                      "mutability": "mutable",
                      "name": "prevBal",
                      "nameLocation": "27219:7:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 6997,
                      "src": "27211:15:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 6917,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "27211:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 6926,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 6921,
                        "name": "balData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6907,
                        "src": "27240:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "components": [
                          {
                            "id": 6923,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "27250:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint256_$",
                              "typeString": "type(uint256)"
                            },
                            "typeName": {
                              "id": 6922,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "27250:7:5",
                              "typeDescriptions": {}
                            }
                          }
                        ],
                        "id": 6924,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "27249:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        }
                      ],
                      "expression": {
                        "id": 6919,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "27229:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 6920,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "27233:6:5",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "27229:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 6925,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "27229:30:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "27211:48:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 6939,
                        "name": "give",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6901,
                        "src": "27362:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "arguments": [
                          {
                            "id": 6936,
                            "name": "to",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6899,
                            "src": "27344:2:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "arguments": [
                              {
                                "hexValue": "30783730613038323331",
                                "id": 6933,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "27323:10:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1889567281_by_1",
                                  "typeString": "int_const 1889567281"
                                },
                                "value": "0x70a08231"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_1889567281_by_1",
                                  "typeString": "int_const 1889567281"
                                }
                              ],
                              "expression": {
                                "arguments": [
                                  {
                                    "id": 6930,
                                    "name": "token",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6897,
                                    "src": "27312:5:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "expression": {
                                    "id": 6927,
                                    "name": "stdstore",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6579,
                                    "src": "27296:8:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_StdStorage_$8374_storage",
                                      "typeString": "struct StdStorage storage ref"
                                    }
                                  },
                                  "id": 6929,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "27305:6:5",
                                  "memberName": "target",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 9328,
                                  "src": "27296:15:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                                    "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"
                                  }
                                },
                                "id": 6931,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "27296:22:5",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                                  "typeString": "struct StdStorage storage pointer"
                                }
                              },
                              "id": 6932,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "27319:3:5",
                              "memberName": "sig",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 9346,
                              "src": "27296:26:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                                "typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"
                              }
                            },
                            "id": 6934,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "27296:38:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                              "typeString": "struct StdStorage storage pointer"
                            }
                          },
                          "id": 6935,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "27335:8:5",
                          "memberName": "with_key",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 9382,
                          "src": "27296:47:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                            "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"
                          }
                        },
                        "id": 6937,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "27296:51:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                          "typeString": "struct StdStorage storage pointer"
                        }
                      },
                      "id": 6938,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "27348:13:5",
                      "memberName": "checked_write",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 9476,
                      "src": "27296:65:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                        "typeString": "function (struct StdStorage storage pointer,uint256)"
                      }
                    },
                    "id": 6940,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "27296:71:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 6941,
                  "nodeType": "ExpressionStatement",
                  "src": "27296:71:5"
                },
                {
                  "condition": {
                    "id": 6942,
                    "name": "adjust",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 6903,
                    "src": "27413:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 6996,
                  "nodeType": "IfStatement",
                  "src": "27409:414:5",
                  "trueBody": {
                    "id": 6995,
                    "nodeType": "Block",
                    "src": "27421:402:5",
                    "statements": [
                      {
                        "assignments": [
                          null,
                          6944
                        ],
                        "declarations": [
                          null,
                          {
                            "constant": false,
                            "id": 6944,
                            "mutability": "mutable",
                            "name": "totSupData",
                            "nameLocation": "27451:10:5",
                            "nodeType": "VariableDeclaration",
                            "scope": 6995,
                            "src": "27438:23:5",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 6943,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "27438:5:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 6952,
                        "initialValue": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "hexValue": "30783138313630646464",
                                  "id": 6949,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "27505:10:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_404098525_by_1",
                                    "typeString": "int_const 404098525"
                                  },
                                  "value": "0x18160ddd"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_404098525_by_1",
                                    "typeString": "int_const 404098525"
                                  }
                                ],
                                "expression": {
                                  "id": 6947,
                                  "name": "abi",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": -1,
                                  "src": "27482:3:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_abi",
                                    "typeString": "abi"
                                  }
                                },
                                "id": 6948,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "27486:18:5",
                                "memberName": "encodeWithSelector",
                                "nodeType": "MemberAccess",
                                "src": "27482:22:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function (bytes4) pure returns (bytes memory)"
                                }
                              },
                              "id": 6950,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "27482:34:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "expression": {
                              "id": 6945,
                              "name": "token",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6897,
                              "src": "27465:5:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 6946,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "27471:10:5",
                            "memberName": "staticcall",
                            "nodeType": "MemberAccess",
                            "src": "27465:16:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                              "typeString": "function (bytes memory) view returns (bool,bytes memory)"
                            }
                          },
                          "id": 6951,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "27465:52:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                            "typeString": "tuple(bool,bytes memory)"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "27435:82:5"
                      },
                      {
                        "assignments": [
                          6954
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 6954,
                            "mutability": "mutable",
                            "name": "totSup",
                            "nameLocation": "27539:6:5",
                            "nodeType": "VariableDeclaration",
                            "scope": 6995,
                            "src": "27531:14:5",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 6953,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "27531:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 6962,
                        "initialValue": {
                          "arguments": [
                            {
                              "id": 6957,
                              "name": "totSupData",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6944,
                              "src": "27559:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            {
                              "components": [
                                {
                                  "id": 6959,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "27572:7:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint256_$",
                                    "typeString": "type(uint256)"
                                  },
                                  "typeName": {
                                    "id": 6958,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "27572:7:5",
                                    "typeDescriptions": {}
                                  }
                                }
                              ],
                              "id": 6960,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "TupleExpression",
                              "src": "27571:9:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint256_$",
                                "typeString": "type(uint256)"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              },
                              {
                                "typeIdentifier": "t_type$_t_uint256_$",
                                "typeString": "type(uint256)"
                              }
                            ],
                            "expression": {
                              "id": 6955,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -1,
                              "src": "27548:3:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 6956,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "27552:6:5",
                            "memberName": "decode",
                            "nodeType": "MemberAccess",
                            "src": "27548:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                              "typeString": "function () pure"
                            }
                          },
                          "id": 6961,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "27548:33:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "27531:50:5"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 6965,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 6963,
                            "name": "give",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6901,
                            "src": "27599:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<",
                          "rightExpression": {
                            "id": 6964,
                            "name": "prevBal",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6918,
                            "src": "27606:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "27599:14:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 6981,
                          "nodeType": "Block",
                          "src": "27680:59:5",
                          "statements": [
                            {
                              "expression": {
                                "id": 6979,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 6974,
                                  "name": "totSup",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6954,
                                  "src": "27698:6:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "components": [
                                    {
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "id": 6977,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "id": 6975,
                                        "name": "give",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 6901,
                                        "src": "27709:4:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "-",
                                      "rightExpression": {
                                        "id": 6976,
                                        "name": "prevBal",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 6918,
                                        "src": "27716:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "src": "27709:14:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "id": 6978,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "TupleExpression",
                                  "src": "27708:16:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "27698:26:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 6980,
                              "nodeType": "ExpressionStatement",
                              "src": "27698:26:5"
                            }
                          ]
                        },
                        "id": 6982,
                        "nodeType": "IfStatement",
                        "src": "27595:144:5",
                        "trueBody": {
                          "id": 6973,
                          "nodeType": "Block",
                          "src": "27615:59:5",
                          "statements": [
                            {
                              "expression": {
                                "id": 6971,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 6966,
                                  "name": "totSup",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6954,
                                  "src": "27633:6:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "-=",
                                "rightHandSide": {
                                  "components": [
                                    {
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "id": 6969,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "id": 6967,
                                        "name": "prevBal",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 6918,
                                        "src": "27644:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "-",
                                      "rightExpression": {
                                        "id": 6968,
                                        "name": "give",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 6901,
                                        "src": "27654:4:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "src": "27644:14:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "id": 6970,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "TupleExpression",
                                  "src": "27643:16:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "27633:26:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 6972,
                              "nodeType": "ExpressionStatement",
                              "src": "27633:26:5"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 6992,
                              "name": "totSup",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6954,
                              "src": "27805:6:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "arguments": [
                                {
                                  "hexValue": "30783138313630646464",
                                  "id": 6989,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "27779:10:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_404098525_by_1",
                                    "typeString": "int_const 404098525"
                                  },
                                  "value": "0x18160ddd"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_404098525_by_1",
                                    "typeString": "int_const 404098525"
                                  }
                                ],
                                "expression": {
                                  "arguments": [
                                    {
                                      "id": 6986,
                                      "name": "token",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 6897,
                                      "src": "27768:5:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "expression": {
                                      "id": 6983,
                                      "name": "stdstore",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 6579,
                                      "src": "27752:8:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_StdStorage_$8374_storage",
                                        "typeString": "struct StdStorage storage ref"
                                      }
                                    },
                                    "id": 6985,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "27761:6:5",
                                    "memberName": "target",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 9328,
                                    "src": "27752:15:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                                      "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"
                                    }
                                  },
                                  "id": 6987,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "27752:22:5",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                                    "typeString": "struct StdStorage storage pointer"
                                  }
                                },
                                "id": 6988,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "27775:3:5",
                                "memberName": "sig",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 9346,
                                "src": "27752:26:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                                  "typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"
                                }
                              },
                              "id": 6990,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "27752:38:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                                "typeString": "struct StdStorage storage pointer"
                              }
                            },
                            "id": 6991,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "27791:13:5",
                            "memberName": "checked_write",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 9476,
                            "src": "27752:52:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                              "typeString": "function (struct StdStorage storage pointer,uint256)"
                            }
                          },
                          "id": 6993,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "27752:60:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 6994,
                        "nodeType": "ExpressionStatement",
                        "src": "27752:60:5"
                      }
                    ]
                  }
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deal",
            "nameLocation": "27001:4:5",
            "parameters": {
              "id": 6904,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6897,
                  "mutability": "mutable",
                  "name": "token",
                  "nameLocation": "27014:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6998,
                  "src": "27006:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6896,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "27006:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6899,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "27029:2:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6998,
                  "src": "27021:10:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6898,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "27021:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6901,
                  "mutability": "mutable",
                  "name": "give",
                  "nameLocation": "27041:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6998,
                  "src": "27033:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6900,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "27033:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6903,
                  "mutability": "mutable",
                  "name": "adjust",
                  "nameLocation": "27052:6:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 6998,
                  "src": "27047:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 6902,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "27047:4:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "27005:54:5"
            },
            "returnParameters": {
              "id": 6905,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "27077:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 7119,
            "nodeType": "FunctionDefinition",
            "src": "27835:1070:5",
            "nodes": [],
            "body": {
              "id": 7118,
              "nodeType": "Block",
              "src": "27939:966:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    null,
                    7012
                  ],
                  "declarations": [
                    null,
                    {
                      "constant": false,
                      "id": 7012,
                      "mutability": "mutable",
                      "name": "balData",
                      "nameLocation": "27996:7:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 7118,
                      "src": "27983:20:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 7011,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "27983:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7022,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "hexValue": "30783030666464353865",
                            "id": 7017,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "28047:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_16635278_by_1",
                              "typeString": "int_const 16635278"
                            },
                            "value": "0x00fdd58e"
                          },
                          {
                            "id": 7018,
                            "name": "to",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7002,
                            "src": "28059:2:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "id": 7019,
                            "name": "id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7004,
                            "src": "28063:2:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_16635278_by_1",
                              "typeString": "int_const 16635278"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "id": 7015,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "28024:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 7016,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "28028:18:5",
                          "memberName": "encodeWithSelector",
                          "nodeType": "MemberAccess",
                          "src": "28024:22:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes4) pure returns (bytes memory)"
                          }
                        },
                        "id": 7020,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "28024:42:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 7013,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7000,
                        "src": "28007:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 7014,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "28013:10:5",
                      "memberName": "staticcall",
                      "nodeType": "MemberAccess",
                      "src": "28007:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                        "typeString": "function (bytes memory) view returns (bool,bytes memory)"
                      }
                    },
                    "id": 7021,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "28007:60:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                      "typeString": "tuple(bool,bytes memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "27980:87:5"
                },
                {
                  "assignments": [
                    7024
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7024,
                      "mutability": "mutable",
                      "name": "prevBal",
                      "nameLocation": "28085:7:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 7118,
                      "src": "28077:15:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7023,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "28077:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7032,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 7027,
                        "name": "balData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7012,
                        "src": "28106:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "components": [
                          {
                            "id": 7029,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "28116:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint256_$",
                              "typeString": "type(uint256)"
                            },
                            "typeName": {
                              "id": 7028,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "28116:7:5",
                              "typeDescriptions": {}
                            }
                          }
                        ],
                        "id": 7030,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "28115:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        }
                      ],
                      "expression": {
                        "id": 7025,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "28095:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 7026,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "28099:6:5",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "28095:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 7031,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "28095:30:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "28077:48:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7048,
                        "name": "give",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7006,
                        "src": "28241:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "arguments": [
                          {
                            "id": 7045,
                            "name": "id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7004,
                            "src": "28223:2:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "arguments": [
                              {
                                "id": 7042,
                                "name": "to",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7002,
                                "src": "28210:2:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "expression": {
                                "arguments": [
                                  {
                                    "hexValue": "30783030666464353865",
                                    "id": 7039,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "28189:10:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_16635278_by_1",
                                      "typeString": "int_const 16635278"
                                    },
                                    "value": "0x00fdd58e"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_16635278_by_1",
                                      "typeString": "int_const 16635278"
                                    }
                                  ],
                                  "expression": {
                                    "arguments": [
                                      {
                                        "id": 7036,
                                        "name": "token",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7000,
                                        "src": "28178:5:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "expression": {
                                        "id": 7033,
                                        "name": "stdstore",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 6579,
                                        "src": "28162:8:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_struct$_StdStorage_$8374_storage",
                                          "typeString": "struct StdStorage storage ref"
                                        }
                                      },
                                      "id": 7035,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "28171:6:5",
                                      "memberName": "target",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 9328,
                                      "src": "28162:15:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                                        "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"
                                      }
                                    },
                                    "id": 7037,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "28162:22:5",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                                      "typeString": "struct StdStorage storage pointer"
                                    }
                                  },
                                  "id": 7038,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "28185:3:5",
                                  "memberName": "sig",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 9346,
                                  "src": "28162:26:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                                    "typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"
                                  }
                                },
                                "id": 7040,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "28162:38:5",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                                  "typeString": "struct StdStorage storage pointer"
                                }
                              },
                              "id": 7041,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "28201:8:5",
                              "memberName": "with_key",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 9382,
                              "src": "28162:47:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                                "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"
                              }
                            },
                            "id": 7043,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "28162:51:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                              "typeString": "struct StdStorage storage pointer"
                            }
                          },
                          "id": 7044,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "28214:8:5",
                          "memberName": "with_key",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 9400,
                          "src": "28162:60:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                            "typeString": "function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"
                          }
                        },
                        "id": 7046,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "28162:64:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                          "typeString": "struct StdStorage storage pointer"
                        }
                      },
                      "id": 7047,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "28227:13:5",
                      "memberName": "checked_write",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 9476,
                      "src": "28162:78:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                        "typeString": "function (struct StdStorage storage pointer,uint256)"
                      }
                    },
                    "id": 7049,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "28162:84:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7050,
                  "nodeType": "ExpressionStatement",
                  "src": "28162:84:5"
                },
                {
                  "condition": {
                    "id": 7051,
                    "name": "adjust",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 7008,
                    "src": "28292:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 7117,
                  "nodeType": "IfStatement",
                  "src": "28288:611:5",
                  "trueBody": {
                    "id": 7116,
                    "nodeType": "Block",
                    "src": "28300:599:5",
                    "statements": [
                      {
                        "assignments": [
                          null,
                          7053
                        ],
                        "declarations": [
                          null,
                          {
                            "constant": false,
                            "id": 7053,
                            "mutability": "mutable",
                            "name": "totSupData",
                            "nameLocation": "28330:10:5",
                            "nodeType": "VariableDeclaration",
                            "scope": 7116,
                            "src": "28317:23:5",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 7052,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "28317:5:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 7062,
                        "initialValue": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "hexValue": "30786264383562303339",
                                  "id": 7058,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "28384:10:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_3179655225_by_1",
                                    "typeString": "int_const 3179655225"
                                  },
                                  "value": "0xbd85b039"
                                },
                                {
                                  "id": 7059,
                                  "name": "id",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7004,
                                  "src": "28396:2:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_3179655225_by_1",
                                    "typeString": "int_const 3179655225"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "id": 7056,
                                  "name": "abi",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": -1,
                                  "src": "28361:3:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_abi",
                                    "typeString": "abi"
                                  }
                                },
                                "id": 7057,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "28365:18:5",
                                "memberName": "encodeWithSelector",
                                "nodeType": "MemberAccess",
                                "src": "28361:22:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                                  "typeString": "function (bytes4) pure returns (bytes memory)"
                                }
                              },
                              "id": 7060,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "28361:38:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            ],
                            "expression": {
                              "id": 7054,
                              "name": "token",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7000,
                              "src": "28344:5:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 7055,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "28350:10:5",
                            "memberName": "staticcall",
                            "nodeType": "MemberAccess",
                            "src": "28344:16:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                              "typeString": "function (bytes memory) view returns (bool,bytes memory)"
                            }
                          },
                          "id": 7061,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "28344:56:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                            "typeString": "tuple(bool,bytes memory)"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "28314:86:5"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 7067,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "id": 7064,
                                  "name": "totSupData",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7053,
                                  "src": "28439:10:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes memory"
                                  }
                                },
                                "id": 7065,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "28450:6:5",
                                "memberName": "length",
                                "nodeType": "MemberAccess",
                                "src": "28439:17:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "!=",
                              "rightExpression": {
                                "hexValue": "30",
                                "id": 7066,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "28460:1:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "28439:22:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "hexValue": "537464436865617473206465616c28616464726573732c616464726573732c75696e742c75696e742c626f6f6c293a2074617267657420636f6e7472616374206973206e6f742045524331313535537570706c792e",
                              "id": 7068,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "28479:87:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_cbb83c7e91c85bace1157a2500e6a0534b39a660e193440ca8d86c890bf3fb8c",
                                "typeString": "literal_string \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\""
                              },
                              "value": "StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply."
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_cbb83c7e91c85bace1157a2500e6a0534b39a660e193440ca8d86c890bf3fb8c",
                                "typeString": "literal_string \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\""
                              }
                            ],
                            "id": 7063,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              -18,
                              -18
                            ],
                            "referencedDeclaration": -18,
                            "src": "28414:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 7069,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "28414:166:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7070,
                        "nodeType": "ExpressionStatement",
                        "src": "28414:166:5"
                      },
                      {
                        "assignments": [
                          7072
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 7072,
                            "mutability": "mutable",
                            "name": "totSup",
                            "nameLocation": "28602:6:5",
                            "nodeType": "VariableDeclaration",
                            "scope": 7116,
                            "src": "28594:14:5",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 7071,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "28594:7:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 7080,
                        "initialValue": {
                          "arguments": [
                            {
                              "id": 7075,
                              "name": "totSupData",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7053,
                              "src": "28622:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            {
                              "components": [
                                {
                                  "id": 7077,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "28635:7:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_uint256_$",
                                    "typeString": "type(uint256)"
                                  },
                                  "typeName": {
                                    "id": 7076,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "28635:7:5",
                                    "typeDescriptions": {}
                                  }
                                }
                              ],
                              "id": 7078,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "TupleExpression",
                              "src": "28634:9:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint256_$",
                                "typeString": "type(uint256)"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              },
                              {
                                "typeIdentifier": "t_type$_t_uint256_$",
                                "typeString": "type(uint256)"
                              }
                            ],
                            "expression": {
                              "id": 7073,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -1,
                              "src": "28611:3:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 7074,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "28615:6:5",
                            "memberName": "decode",
                            "nodeType": "MemberAccess",
                            "src": "28611:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                              "typeString": "function () pure"
                            }
                          },
                          "id": 7079,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "28611:33:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "28594:50:5"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 7083,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 7081,
                            "name": "give",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7006,
                            "src": "28662:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<",
                          "rightExpression": {
                            "id": 7082,
                            "name": "prevBal",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7024,
                            "src": "28669:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "28662:14:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 7099,
                          "nodeType": "Block",
                          "src": "28743:59:5",
                          "statements": [
                            {
                              "expression": {
                                "id": 7097,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 7092,
                                  "name": "totSup",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7072,
                                  "src": "28761:6:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "components": [
                                    {
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "id": 7095,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "id": 7093,
                                        "name": "give",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7006,
                                        "src": "28772:4:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "-",
                                      "rightExpression": {
                                        "id": 7094,
                                        "name": "prevBal",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7024,
                                        "src": "28779:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "src": "28772:14:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "id": 7096,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "TupleExpression",
                                  "src": "28771:16:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "28761:26:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 7098,
                              "nodeType": "ExpressionStatement",
                              "src": "28761:26:5"
                            }
                          ]
                        },
                        "id": 7100,
                        "nodeType": "IfStatement",
                        "src": "28658:144:5",
                        "trueBody": {
                          "id": 7091,
                          "nodeType": "Block",
                          "src": "28678:59:5",
                          "statements": [
                            {
                              "expression": {
                                "id": 7089,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 7084,
                                  "name": "totSup",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7072,
                                  "src": "28696:6:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "-=",
                                "rightHandSide": {
                                  "components": [
                                    {
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "id": 7087,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "id": 7085,
                                        "name": "prevBal",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7024,
                                        "src": "28707:7:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "-",
                                      "rightExpression": {
                                        "id": 7086,
                                        "name": "give",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7006,
                                        "src": "28717:4:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "src": "28707:14:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "id": 7088,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "TupleExpression",
                                  "src": "28706:16:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "28696:26:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 7090,
                              "nodeType": "ExpressionStatement",
                              "src": "28696:26:5"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 7113,
                              "name": "totSup",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7072,
                              "src": "28881:6:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "arguments": [
                                {
                                  "id": 7110,
                                  "name": "id",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7004,
                                  "src": "28863:2:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "arguments": [
                                    {
                                      "hexValue": "30786264383562303339",
                                      "id": 7107,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "28842:10:5",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_3179655225_by_1",
                                        "typeString": "int_const 3179655225"
                                      },
                                      "value": "0xbd85b039"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_rational_3179655225_by_1",
                                        "typeString": "int_const 3179655225"
                                      }
                                    ],
                                    "expression": {
                                      "arguments": [
                                        {
                                          "id": 7104,
                                          "name": "token",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 7000,
                                          "src": "28831:5:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        ],
                                        "expression": {
                                          "id": 7101,
                                          "name": "stdstore",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 6579,
                                          "src": "28815:8:5",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_StdStorage_$8374_storage",
                                            "typeString": "struct StdStorage storage ref"
                                          }
                                        },
                                        "id": 7103,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "28824:6:5",
                                        "memberName": "target",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 9328,
                                        "src": "28815:15:5",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                                          "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"
                                        }
                                      },
                                      "id": 7105,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "28815:22:5",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                                        "typeString": "struct StdStorage storage pointer"
                                      }
                                    },
                                    "id": 7106,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "28838:3:5",
                                    "memberName": "sig",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 9346,
                                    "src": "28815:26:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                                      "typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"
                                    }
                                  },
                                  "id": 7108,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "28815:38:5",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                                    "typeString": "struct StdStorage storage pointer"
                                  }
                                },
                                "id": 7109,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "28854:8:5",
                                "memberName": "with_key",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 9400,
                                "src": "28815:47:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                                  "typeString": "function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"
                                }
                              },
                              "id": 7111,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "28815:51:5",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                                "typeString": "struct StdStorage storage pointer"
                              }
                            },
                            "id": 7112,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "28867:13:5",
                            "memberName": "checked_write",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 9476,
                            "src": "28815:65:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                              "typeString": "function (struct StdStorage storage pointer,uint256)"
                            }
                          },
                          "id": 7114,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "28815:73:5",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 7115,
                        "nodeType": "ExpressionStatement",
                        "src": "28815:73:5"
                      }
                    ]
                  }
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "dealERC1155",
            "nameLocation": "27844:11:5",
            "parameters": {
              "id": 7009,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7000,
                  "mutability": "mutable",
                  "name": "token",
                  "nameLocation": "27864:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7119,
                  "src": "27856:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6999,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "27856:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7002,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "27879:2:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7119,
                  "src": "27871:10:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7001,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "27871:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7004,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "27891:2:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7119,
                  "src": "27883:10:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7003,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "27883:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7006,
                  "mutability": "mutable",
                  "name": "give",
                  "nameLocation": "27903:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7119,
                  "src": "27895:12:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7005,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "27895:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7008,
                  "mutability": "mutable",
                  "name": "adjust",
                  "nameLocation": "27914:6:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7119,
                  "src": "27909:11:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7007,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "27909:4:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "27855:66:5"
            },
            "returnParameters": {
              "id": 7010,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "27939:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 7248,
            "nodeType": "FunctionDefinition",
            "src": "28911:1139:5",
            "nodes": [],
            "body": {
              "id": 7247,
              "nodeType": "Block",
              "src": "28987:1063:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    7129,
                    7131
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7129,
                      "mutability": "mutable",
                      "name": "successMinted",
                      "nameLocation": "29072:13:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 7247,
                      "src": "29067:18:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 7128,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "29067:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 7131,
                      "mutability": "mutable",
                      "name": "ownerData",
                      "nameLocation": "29100:9:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 7247,
                      "src": "29087:22:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 7130,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "29087:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7140,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "hexValue": "30783633353232313165",
                            "id": 7136,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "29153:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1666326814_by_1",
                              "typeString": "int_const 1666326814"
                            },
                            "value": "0x6352211e"
                          },
                          {
                            "id": 7137,
                            "name": "id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7125,
                            "src": "29165:2:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_1666326814_by_1",
                              "typeString": "int_const 1666326814"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "id": 7134,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "29130:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 7135,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "29134:18:5",
                          "memberName": "encodeWithSelector",
                          "nodeType": "MemberAccess",
                          "src": "29130:22:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes4) pure returns (bytes memory)"
                          }
                        },
                        "id": 7138,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "29130:38:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 7132,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7121,
                        "src": "29113:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 7133,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "29119:10:5",
                      "memberName": "staticcall",
                      "nodeType": "MemberAccess",
                      "src": "29113:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                        "typeString": "function (bytes memory) view returns (bool,bytes memory)"
                      }
                    },
                    "id": 7139,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "29113:56:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                      "typeString": "tuple(bool,bytes memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "29066:103:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7142,
                        "name": "successMinted",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7129,
                        "src": "29187:13:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "537464436865617473206465616c28616464726573732c616464726573732c75696e742c626f6f6c293a206964206e6f74206d696e7465642e",
                        "id": 7143,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "29202:59:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e9f524ccbde1b7d94051482eee863c075921757bac915f984f010837545a169e",
                          "typeString": "literal_string \"StdCheats deal(address,address,uint,bool): id not minted.\""
                        },
                        "value": "StdCheats deal(address,address,uint,bool): id not minted."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e9f524ccbde1b7d94051482eee863c075921757bac915f984f010837545a169e",
                          "typeString": "literal_string \"StdCheats deal(address,address,uint,bool): id not minted.\""
                        }
                      ],
                      "id": 7141,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "29179:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7144,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "29179:83:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7145,
                  "nodeType": "ExpressionStatement",
                  "src": "29179:83:5"
                },
                {
                  "assignments": [
                    null,
                    7147
                  ],
                  "declarations": [
                    null,
                    {
                      "constant": false,
                      "id": 7147,
                      "mutability": "mutable",
                      "name": "fromBalData",
                      "nameLocation": "29326:11:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 7247,
                      "src": "29313:24:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 7146,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "29313:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7162,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "hexValue": "30783730613038323331",
                            "id": 7152,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "29393:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1889567281_by_1",
                              "typeString": "int_const 1889567281"
                            },
                            "value": "0x70a08231"
                          },
                          {
                            "arguments": [
                              {
                                "id": 7155,
                                "name": "ownerData",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7131,
                                "src": "29416:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              {
                                "components": [
                                  {
                                    "id": 7157,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "29428:7:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_address_$",
                                      "typeString": "type(address)"
                                    },
                                    "typeName": {
                                      "id": 7156,
                                      "name": "address",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "29428:7:5",
                                      "typeDescriptions": {}
                                    }
                                  }
                                ],
                                "id": 7158,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "29427:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_address_$",
                                  "typeString": "type(address)"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                },
                                {
                                  "typeIdentifier": "t_type$_t_address_$",
                                  "typeString": "type(address)"
                                }
                              ],
                              "expression": {
                                "id": 7153,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -1,
                                "src": "29405:3:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 7154,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "29409:6:5",
                              "memberName": "decode",
                              "nodeType": "MemberAccess",
                              "src": "29405:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                "typeString": "function () pure"
                              }
                            },
                            "id": 7159,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "29405:32:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_1889567281_by_1",
                              "typeString": "int_const 1889567281"
                            },
                            {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          ],
                          "expression": {
                            "id": 7150,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "29370:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 7151,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "29374:18:5",
                          "memberName": "encodeWithSelector",
                          "nodeType": "MemberAccess",
                          "src": "29370:22:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes4) pure returns (bytes memory)"
                          }
                        },
                        "id": 7160,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "29370:68:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 7148,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7121,
                        "src": "29353:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 7149,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "29359:10:5",
                      "memberName": "staticcall",
                      "nodeType": "MemberAccess",
                      "src": "29353:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                        "typeString": "function (bytes memory) view returns (bool,bytes memory)"
                      }
                    },
                    "id": 7161,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "29353:86:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                      "typeString": "tuple(bool,bytes memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "29310:129:5"
                },
                {
                  "assignments": [
                    7164
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7164,
                      "mutability": "mutable",
                      "name": "fromPrevBal",
                      "nameLocation": "29457:11:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 7247,
                      "src": "29449:19:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7163,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "29449:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7172,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 7167,
                        "name": "fromBalData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7147,
                        "src": "29482:11:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "components": [
                          {
                            "id": 7169,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "29496:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint256_$",
                              "typeString": "type(uint256)"
                            },
                            "typeName": {
                              "id": 7168,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "29496:7:5",
                              "typeDescriptions": {}
                            }
                          }
                        ],
                        "id": 7170,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "29495:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        }
                      ],
                      "expression": {
                        "id": 7165,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "29471:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 7166,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "29475:6:5",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "29471:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 7171,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "29471:34:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "29449:56:5"
                },
                {
                  "assignments": [
                    null,
                    7174
                  ],
                  "declarations": [
                    null,
                    {
                      "constant": false,
                      "id": 7174,
                      "mutability": "mutable",
                      "name": "toBalData",
                      "nameLocation": "29572:9:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 7247,
                      "src": "29559:22:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 7173,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "29559:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7183,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "hexValue": "30783730613038323331",
                            "id": 7179,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "29625:10:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1889567281_by_1",
                              "typeString": "int_const 1889567281"
                            },
                            "value": "0x70a08231"
                          },
                          {
                            "id": 7180,
                            "name": "to",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7123,
                            "src": "29637:2:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_1889567281_by_1",
                              "typeString": "int_const 1889567281"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "id": 7177,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "29602:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 7178,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "29606:18:5",
                          "memberName": "encodeWithSelector",
                          "nodeType": "MemberAccess",
                          "src": "29602:22:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes4) pure returns (bytes memory)"
                          }
                        },
                        "id": 7181,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "29602:38:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 7175,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7121,
                        "src": "29585:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 7176,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "29591:10:5",
                      "memberName": "staticcall",
                      "nodeType": "MemberAccess",
                      "src": "29585:16:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                        "typeString": "function (bytes memory) view returns (bool,bytes memory)"
                      }
                    },
                    "id": 7182,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "29585:56:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                      "typeString": "tuple(bool,bytes memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "29556:85:5"
                },
                {
                  "assignments": [
                    7185
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7185,
                      "mutability": "mutable",
                      "name": "toPrevBal",
                      "nameLocation": "29659:9:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 7247,
                      "src": "29651:17:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 7184,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "29651:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7193,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 7188,
                        "name": "toBalData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7174,
                        "src": "29682:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "components": [
                          {
                            "id": 7190,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "29694:7:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint256_$",
                              "typeString": "type(uint256)"
                            },
                            "typeName": {
                              "id": 7189,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "29694:7:5",
                              "typeDescriptions": {}
                            }
                          }
                        ],
                        "id": 7191,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "29693:9:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_type$_t_uint256_$",
                          "typeString": "type(uint256)"
                        }
                      ],
                      "expression": {
                        "id": 7186,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "29671:3:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 7187,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "29675:6:5",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "29671:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 7192,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "29671:32:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "29651:52:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7213,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "--",
                        "prefix": true,
                        "src": "29837:13:5",
                        "subExpression": {
                          "id": 7212,
                          "name": "fromPrevBal",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7164,
                          "src": "29839:11:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 7205,
                                "name": "ownerData",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7131,
                                "src": "29800:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              {
                                "components": [
                                  {
                                    "id": 7207,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "29812:7:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_address_$",
                                      "typeString": "type(address)"
                                    },
                                    "typeName": {
                                      "id": 7206,
                                      "name": "address",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "29812:7:5",
                                      "typeDescriptions": {}
                                    }
                                  }
                                ],
                                "id": 7208,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "29811:9:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_address_$",
                                  "typeString": "type(address)"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                },
                                {
                                  "typeIdentifier": "t_type$_t_address_$",
                                  "typeString": "type(address)"
                                }
                              ],
                              "expression": {
                                "id": 7203,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -1,
                                "src": "29789:3:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 7204,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "29793:6:5",
                              "memberName": "decode",
                              "nodeType": "MemberAccess",
                              "src": "29789:10:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                "typeString": "function () pure"
                              }
                            },
                            "id": 7209,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "29789:32:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          ],
                          "expression": {
                            "arguments": [
                              {
                                "hexValue": "30783730613038323331",
                                "id": 7200,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "29768:10:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1889567281_by_1",
                                  "typeString": "int_const 1889567281"
                                },
                                "value": "0x70a08231"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_1889567281_by_1",
                                  "typeString": "int_const 1889567281"
                                }
                              ],
                              "expression": {
                                "arguments": [
                                  {
                                    "id": 7197,
                                    "name": "token",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7121,
                                    "src": "29757:5:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "expression": {
                                    "id": 7194,
                                    "name": "stdstore",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6579,
                                    "src": "29741:8:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_StdStorage_$8374_storage",
                                      "typeString": "struct StdStorage storage ref"
                                    }
                                  },
                                  "id": 7196,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "29750:6:5",
                                  "memberName": "target",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 9328,
                                  "src": "29741:15:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                                    "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"
                                  }
                                },
                                "id": 7198,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "29741:22:5",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                                  "typeString": "struct StdStorage storage pointer"
                                }
                              },
                              "id": 7199,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "29764:3:5",
                              "memberName": "sig",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 9346,
                              "src": "29741:26:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                                "typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"
                              }
                            },
                            "id": 7201,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "29741:38:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                              "typeString": "struct StdStorage storage pointer"
                            }
                          },
                          "id": 7202,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "29780:8:5",
                          "memberName": "with_key",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 9382,
                          "src": "29741:47:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                            "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"
                          }
                        },
                        "id": 7210,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "29741:81:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                          "typeString": "struct StdStorage storage pointer"
                        }
                      },
                      "id": 7211,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "29823:13:5",
                      "memberName": "checked_write",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 9476,
                      "src": "29741:95:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                        "typeString": "function (struct StdStorage storage pointer,uint256)"
                      }
                    },
                    "id": 7214,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "29741:110:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7215,
                  "nodeType": "ExpressionStatement",
                  "src": "29741:110:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7229,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "++",
                        "prefix": true,
                        "src": "29927:11:5",
                        "subExpression": {
                          "id": 7228,
                          "name": "toPrevBal",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7185,
                          "src": "29929:9:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "arguments": [
                          {
                            "id": 7225,
                            "name": "to",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7123,
                            "src": "29909:2:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "arguments": [
                              {
                                "hexValue": "30783730613038323331",
                                "id": 7222,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "29888:10:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1889567281_by_1",
                                  "typeString": "int_const 1889567281"
                                },
                                "value": "0x70a08231"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_1889567281_by_1",
                                  "typeString": "int_const 1889567281"
                                }
                              ],
                              "expression": {
                                "arguments": [
                                  {
                                    "id": 7219,
                                    "name": "token",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7121,
                                    "src": "29877:5:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "expression": {
                                    "id": 7216,
                                    "name": "stdstore",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6579,
                                    "src": "29861:8:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_StdStorage_$8374_storage",
                                      "typeString": "struct StdStorage storage ref"
                                    }
                                  },
                                  "id": 7218,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "29870:6:5",
                                  "memberName": "target",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 9328,
                                  "src": "29861:15:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                                    "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"
                                  }
                                },
                                "id": 7220,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "29861:22:5",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                                  "typeString": "struct StdStorage storage pointer"
                                }
                              },
                              "id": 7221,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "29884:3:5",
                              "memberName": "sig",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 9346,
                              "src": "29861:26:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                                "typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"
                              }
                            },
                            "id": 7223,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "29861:38:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                              "typeString": "struct StdStorage storage pointer"
                            }
                          },
                          "id": 7224,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "29900:8:5",
                          "memberName": "with_key",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 9382,
                          "src": "29861:47:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                            "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"
                          }
                        },
                        "id": 7226,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "29861:51:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                          "typeString": "struct StdStorage storage pointer"
                        }
                      },
                      "id": 7227,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "29913:13:5",
                      "memberName": "checked_write",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 9476,
                      "src": "29861:65:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                        "typeString": "function (struct StdStorage storage pointer,uint256)"
                      }
                    },
                    "id": 7230,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "29861:78:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7231,
                  "nodeType": "ExpressionStatement",
                  "src": "29861:78:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7244,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7123,
                        "src": "30040:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "arguments": [
                          {
                            "id": 7241,
                            "name": "id",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7125,
                            "src": "30022:2:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "arguments": [
                              {
                                "hexValue": "30783633353232313165",
                                "id": 7238,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "30001:10:5",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1666326814_by_1",
                                  "typeString": "int_const 1666326814"
                                },
                                "value": "0x6352211e"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_1666326814_by_1",
                                  "typeString": "int_const 1666326814"
                                }
                              ],
                              "expression": {
                                "arguments": [
                                  {
                                    "id": 7235,
                                    "name": "token",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7121,
                                    "src": "29990:5:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "expression": {
                                    "id": 7232,
                                    "name": "stdstore",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6579,
                                    "src": "29974:8:5",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_StdStorage_$8374_storage",
                                      "typeString": "struct StdStorage storage ref"
                                    }
                                  },
                                  "id": 7234,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "29983:6:5",
                                  "memberName": "target",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 9328,
                                  "src": "29974:15:5",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                                    "typeString": "function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"
                                  }
                                },
                                "id": 7236,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "29974:22:5",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                                  "typeString": "struct StdStorage storage pointer"
                                }
                              },
                              "id": 7237,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "29997:3:5",
                              "memberName": "sig",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 9346,
                              "src": "29974:26:5",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                                "typeString": "function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"
                              }
                            },
                            "id": 7239,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "29974:38:5",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                              "typeString": "struct StdStorage storage pointer"
                            }
                          },
                          "id": 7240,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "30013:8:5",
                          "memberName": "with_key",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 9400,
                          "src": "29974:47:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8374_storage_ptr_$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                            "typeString": "function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"
                          }
                        },
                        "id": 7242,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "29974:51:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_StdStorage_$8374_storage_ptr",
                          "typeString": "struct StdStorage storage pointer"
                        }
                      },
                      "id": 7243,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "30026:13:5",
                      "memberName": "checked_write",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 9459,
                      "src": "29974:65:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_StdStorage_$8374_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_StdStorage_$8374_storage_ptr_$",
                        "typeString": "function (struct StdStorage storage pointer,address)"
                      }
                    },
                    "id": 7245,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "29974:69:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7246,
                  "nodeType": "ExpressionStatement",
                  "src": "29974:69:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "dealERC721",
            "nameLocation": "28920:10:5",
            "parameters": {
              "id": 7126,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7121,
                  "mutability": "mutable",
                  "name": "token",
                  "nameLocation": "28939:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7248,
                  "src": "28931:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7120,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "28931:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7123,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "28954:2:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7248,
                  "src": "28946:10:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7122,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "28946:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7125,
                  "mutability": "mutable",
                  "name": "id",
                  "nameLocation": "28966:2:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7248,
                  "src": "28958:10:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7124,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "28958:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "28930:39:5"
            },
            "returnParameters": {
              "id": 7127,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "28987:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 7263,
            "nodeType": "FunctionDefinition",
            "src": "30056:123:5",
            "nodes": [],
            "body": {
              "id": 7262,
              "nodeType": "Block",
              "src": "30130:49:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7256,
                        "name": "what",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7250,
                        "src": "30153:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "hexValue": "",
                        "id": 7257,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "30159:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                          "typeString": "literal_string \"\""
                        },
                        "value": ""
                      },
                      {
                        "hexValue": "30",
                        "id": 7258,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "30163:1:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "id": 7259,
                        "name": "where",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7252,
                        "src": "30166:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                          "typeString": "literal_string \"\""
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 7255,
                      "name": "deployCodeTo",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7263,
                        7280,
                        7333
                      ],
                      "referencedDeclaration": 7333,
                      "src": "30140:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$_t_address_$returns$__$",
                        "typeString": "function (string memory,bytes memory,uint256,address)"
                      }
                    },
                    "id": 7260,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "30140:32:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7261,
                  "nodeType": "ExpressionStatement",
                  "src": "30140:32:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deployCodeTo",
            "nameLocation": "30065:12:5",
            "parameters": {
              "id": 7253,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7250,
                  "mutability": "mutable",
                  "name": "what",
                  "nameLocation": "30092:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7263,
                  "src": "30078:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7249,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "30078:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7252,
                  "mutability": "mutable",
                  "name": "where",
                  "nameLocation": "30106:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7263,
                  "src": "30098:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7251,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "30098:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "30077:35:5"
            },
            "returnParameters": {
              "id": 7254,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "30130:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 7280,
            "nodeType": "FunctionDefinition",
            "src": "30185:144:5",
            "nodes": [],
            "body": {
              "id": 7279,
              "nodeType": "Block",
              "src": "30278:51:5",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7273,
                        "name": "what",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7265,
                        "src": "30301:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "id": 7274,
                        "name": "args",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7267,
                        "src": "30307:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      {
                        "hexValue": "30",
                        "id": 7275,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "30313:1:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "id": 7276,
                        "name": "where",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7269,
                        "src": "30316:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 7272,
                      "name": "deployCodeTo",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7263,
                        7280,
                        7333
                      ],
                      "referencedDeclaration": 7333,
                      "src": "30288:12:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$_t_address_$returns$__$",
                        "typeString": "function (string memory,bytes memory,uint256,address)"
                      }
                    },
                    "id": 7277,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "30288:34:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7278,
                  "nodeType": "ExpressionStatement",
                  "src": "30288:34:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deployCodeTo",
            "nameLocation": "30194:12:5",
            "parameters": {
              "id": 7270,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7265,
                  "mutability": "mutable",
                  "name": "what",
                  "nameLocation": "30221:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7280,
                  "src": "30207:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7264,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "30207:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7267,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "30240:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7280,
                  "src": "30227:17:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 7266,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "30227:5:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7269,
                  "mutability": "mutable",
                  "name": "where",
                  "nameLocation": "30254:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7280,
                  "src": "30246:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7268,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "30246:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "30206:54:5"
            },
            "returnParameters": {
              "id": 7271,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "30278:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "id": 7333,
            "nodeType": "FunctionDefinition",
            "src": "30335:475:5",
            "nodes": [],
            "body": {
              "id": 7332,
              "nodeType": "Block",
              "src": "30443:367:5",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    7292
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7292,
                      "mutability": "mutable",
                      "name": "creationCode",
                      "nameLocation": "30466:12:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 7332,
                      "src": "30453:25:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 7291,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "30453:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7297,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 7295,
                        "name": "what",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7282,
                        "src": "30492:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 7293,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "30481:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 7294,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "30484:7:5",
                      "memberName": "getCode",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12330,
                      "src": "30481:10:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (string memory) view external returns (bytes memory)"
                      }
                    },
                    "id": 7296,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "30481:16:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "30453:44:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7301,
                        "name": "where",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7288,
                        "src": "30515:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "id": 7304,
                            "name": "creationCode",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7292,
                            "src": "30539:12:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          },
                          {
                            "id": 7305,
                            "name": "args",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7284,
                            "src": "30553:4:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            },
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "expression": {
                            "id": 7302,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -1,
                            "src": "30522:3:5",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 7303,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "30526:12:5",
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "src": "30522:16:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 7306,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "30522:36:5",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 7298,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "30507:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 7300,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "30510:4:5",
                      "memberName": "etch",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13108,
                      "src": "30507:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$",
                        "typeString": "function (address,bytes memory) external"
                      }
                    },
                    "id": 7307,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "30507:52:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7308,
                  "nodeType": "ExpressionStatement",
                  "src": "30507:52:5"
                },
                {
                  "assignments": [
                    7310,
                    7312
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 7310,
                      "mutability": "mutable",
                      "name": "success",
                      "nameLocation": "30575:7:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 7332,
                      "src": "30570:12:5",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 7309,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "30570:4:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 7312,
                      "mutability": "mutable",
                      "name": "runtimeBytecode",
                      "nameLocation": "30597:15:5",
                      "nodeType": "VariableDeclaration",
                      "scope": 7332,
                      "src": "30584:28:5",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 7311,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "30584:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 7319,
                  "initialValue": {
                    "arguments": [
                      {
                        "hexValue": "",
                        "id": 7317,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "30641:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                          "typeString": "literal_string \"\""
                        },
                        "value": ""
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                          "typeString": "literal_string \"\""
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                            "typeString": "literal_string \"\""
                          }
                        ],
                        "expression": {
                          "id": 7313,
                          "name": "where",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7288,
                          "src": "30616:5:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 7314,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "30622:4:5",
                        "memberName": "call",
                        "nodeType": "MemberAccess",
                        "src": "30616:10:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                          "typeString": "function (bytes memory) payable returns (bool,bytes memory)"
                        }
                      },
                      "id": 7316,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "names": [
                        "value"
                      ],
                      "nodeType": "FunctionCallOptions",
                      "options": [
                        {
                          "id": 7315,
                          "name": "value",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7286,
                          "src": "30634:5:5",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "src": "30616:24:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value",
                        "typeString": "function (bytes memory) payable returns (bool,bytes memory)"
                      }
                    },
                    "id": 7318,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "30616:28:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                      "typeString": "tuple(bool,bytes memory)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "30569:75:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7321,
                        "name": "success",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7310,
                        "src": "30662:7:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "537464436865617473206465706c6f79436f6465546f28737472696e672c62797465732c75696e743235362c61646472657373293a204661696c656420746f206372656174652072756e74696d652062797465636f64652e",
                        "id": 7322,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "30671:90:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b108e15dc33227f7dcfd1bb506d1d48e88a540eadf4c41cd675a882ac84a6d45",
                          "typeString": "literal_string \"StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode.\""
                        },
                        "value": "StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b108e15dc33227f7dcfd1bb506d1d48e88a540eadf4c41cd675a882ac84a6d45",
                          "typeString": "literal_string \"StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode.\""
                        }
                      ],
                      "id": 7320,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "30654:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 7323,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "30654:108:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7324,
                  "nodeType": "ExpressionStatement",
                  "src": "30654:108:5"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 7328,
                        "name": "where",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7288,
                        "src": "30780:5:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 7329,
                        "name": "runtimeBytecode",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7312,
                        "src": "30787:15:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "expression": {
                        "id": 7325,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6596,
                        "src": "30772:2:5",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$13464",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 7327,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "30775:4:5",
                      "memberName": "etch",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 13108,
                      "src": "30772:7:5",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$",
                        "typeString": "function (address,bytes memory) external"
                      }
                    },
                    "id": 7330,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "30772:31:5",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 7331,
                  "nodeType": "ExpressionStatement",
                  "src": "30772:31:5"
                }
              ]
            },
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deployCodeTo",
            "nameLocation": "30344:12:5",
            "parameters": {
              "id": 7289,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7282,
                  "mutability": "mutable",
                  "name": "what",
                  "nameLocation": "30371:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7333,
                  "src": "30357:18:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7281,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "30357:6:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7284,
                  "mutability": "mutable",
                  "name": "args",
                  "nameLocation": "30390:4:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7333,
                  "src": "30377:17:5",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 7283,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "30377:5:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7286,
                  "mutability": "mutable",
                  "name": "value",
                  "nameLocation": "30404:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7333,
                  "src": "30396:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7285,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "30396:7:5",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7288,
                  "mutability": "mutable",
                  "name": "where",
                  "nameLocation": "30419:5:5",
                  "nodeType": "VariableDeclaration",
                  "scope": 7333,
                  "src": "30411:13:5",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7287,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "30411:7:5",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "30356:69:5"
            },
            "returnParameters": {
              "id": 7290,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "30443:0:5"
            },
            "scope": 7334,
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          }
        ],
        "abstract": true,
        "baseContracts": [
          {
            "baseName": {
              "id": 6571,
              "name": "StdCheatsSafe",
              "nameLocations": [
                "24109:13:5"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 6570,
              "src": "24109:13:5"
            },
            "id": 6572,
            "nodeType": "InheritanceSpecifier",
            "src": "24109:13:5"
          }
        ],
        "canonicalName": "StdCheats",
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": true,
        "linearizedBaseContracts": [
          7334,
          6570
        ],
        "name": "StdCheats",
        "nameLocation": "24096:9:5",
        "scope": 7335,
        "usedErrors": [],
        "usedEvents": []
      }
    ],
    "license": "MIT"
  },
  "id": 5
}