{
  "contractName": "ENS",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "operator",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "approved",
          "type": "bool"
        }
      ],
      "name": "ApprovalForAll",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "label",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "NewOwner",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "resolver",
          "type": "address"
        }
      ],
      "name": "NewResolver",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "ttl",
          "type": "uint64"
        }
      ],
      "name": "NewTTL",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "resolver",
          "type": "address"
        },
        {
          "internalType": "uint64",
          "name": "ttl",
          "type": "uint64"
        }
      ],
      "name": "setRecord",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "label",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "resolver",
          "type": "address"
        },
        {
          "internalType": "uint64",
          "name": "ttl",
          "type": "uint64"
        }
      ],
      "name": "setSubnodeRecord",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "label",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "setSubnodeOwner",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "resolver",
          "type": "address"
        }
      ],
      "name": "setResolver",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "setOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        },
        {
          "internalType": "uint64",
          "name": "ttl",
          "type": "uint64"
        }
      ],
      "name": "setTTL",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "approved",
          "type": "bool"
        }
      ],
      "name": "setApprovalForAll",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        }
      ],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        }
      ],
      "name": "resolver",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        }
      ],
      "name": "ttl",
      "outputs": [
        {
          "internalType": "uint64",
          "name": "",
          "type": "uint64"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "node",
          "type": "bytes32"
        }
      ],
      "name": "recordExists",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        }
      ],
      "name": "isApprovedForAll",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.7.4+commit.3f05b770\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NewOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"NewResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"NewTTL\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"recordExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"resolver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"setResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"setSubnodeOwner\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"label\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setSubnodeRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"ttl\",\"type\":\"uint64\"}],\"name\":\"setTTL\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"node\",\"type\":\"bytes32\"}],\"name\":\"ttl\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@ensdomains/ens/contracts/ENS.sol\":\"ENS\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x376a1ab7c43ac7c922a5b7e39c7fcba8bc66409fb335ebcee2f8f45d485b1f31\",\"urls\":[\"bzz-raw://766025ff22caa14c68bb5341b843616f3da8b739924475f7dc4383b0482138fe\",\"dweb:/ipfs/QmWzCxvb6WnF9qHHX4np7f6QePXMqX59SDMuRu8vogYKAV\"]}},\"version\":1}",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "immutableReferences": {},
  "generatedSources": [],
  "deployedGeneratedSources": [],
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "pragma solidity ^0.7.0;\n\ninterface ENS {\n\n    // Logged when the owner of a node assigns a new owner to a subnode.\n    event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner);\n\n    // Logged when the owner of a node transfers ownership to a new account.\n    event Transfer(bytes32 indexed node, address owner);\n\n    // Logged when the resolver for a node changes.\n    event NewResolver(bytes32 indexed node, address resolver);\n\n    // Logged when the TTL of a node changes\n    event NewTTL(bytes32 indexed node, uint64 ttl);\n\n    // Logged when an operator is added or removed.\n    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n    function setRecord(bytes32 node, address owner, address resolver, uint64 ttl) external virtual;\n    function setSubnodeRecord(bytes32 node, bytes32 label, address owner, address resolver, uint64 ttl) external virtual;\n    function setSubnodeOwner(bytes32 node, bytes32 label, address owner) external virtual returns(bytes32);\n    function setResolver(bytes32 node, address resolver) external virtual;\n    function setOwner(bytes32 node, address owner) external virtual;\n    function setTTL(bytes32 node, uint64 ttl) external virtual;\n    function setApprovalForAll(address operator, bool approved) external virtual;\n    function owner(bytes32 node) external virtual view returns (address);\n    function resolver(bytes32 node) external virtual view returns (address);\n    function ttl(bytes32 node) external virtual view returns (uint64);\n    function recordExists(bytes32 node) external virtual view returns (bool);\n    function isApprovedForAll(address owner, address operator) external virtual view returns (bool);\n}\n",
  "sourcePath": "@ensdomains/ens/contracts/ENS.sol",
  "ast": {
    "absolutePath": "@ensdomains/ens/contracts/ENS.sol",
    "exportedSymbols": {
      "ENS": [
        3533
      ]
    },
    "id": 3534,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 3398,
        "literals": [
          "solidity",
          "^",
          "0.7",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:10"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 3533,
        "linearizedBaseContracts": [
          3533
        ],
        "name": "ENS",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "id": 3406,
            "name": "NewOwner",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 3405,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3400,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 3406,
                  "src": "134:20:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3399,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "134:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3402,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "label",
                  "nodeType": "VariableDeclaration",
                  "scope": 3406,
                  "src": "156:21:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3401,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "156:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3404,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 3406,
                  "src": "179:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3403,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "179:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "133:60:10"
            },
            "src": "119:75:10"
          },
          {
            "anonymous": false,
            "id": 3412,
            "name": "Transfer",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 3411,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3408,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 3412,
                  "src": "292:20:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3407,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "292:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3410,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 3412,
                  "src": "314:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3409,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "314:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "291:37:10"
            },
            "src": "277:52:10"
          },
          {
            "anonymous": false,
            "id": 3418,
            "name": "NewResolver",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 3417,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3414,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 3418,
                  "src": "405:20:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3413,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "405:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3416,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 3418,
                  "src": "427:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3415,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "427:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "404:40:10"
            },
            "src": "387:58:10"
          },
          {
            "anonymous": false,
            "id": 3424,
            "name": "NewTTL",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 3423,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3420,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 3424,
                  "src": "509:20:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3419,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "509:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3422,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "ttl",
                  "nodeType": "VariableDeclaration",
                  "scope": 3424,
                  "src": "531:10:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 3421,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "531:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "508:34:10"
            },
            "src": "496:47:10"
          },
          {
            "anonymous": false,
            "id": 3432,
            "name": "ApprovalForAll",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 3431,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3426,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 3432,
                  "src": "622:21:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3425,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "622:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3428,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 3432,
                  "src": "645:24:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3427,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "645:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3430,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "approved",
                  "nodeType": "VariableDeclaration",
                  "scope": 3432,
                  "src": "671:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3429,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "671:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "621:64:10"
            },
            "src": "601:85:10"
          },
          {
            "functionSelector": "cf408823",
            "id": 3443,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setRecord",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3441,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3434,
                  "mutability": "mutable",
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 3443,
                  "src": "711:12:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3433,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "711:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3436,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 3443,
                  "src": "725:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3435,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "725:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3438,
                  "mutability": "mutable",
                  "name": "resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 3443,
                  "src": "740:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3437,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "740:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3440,
                  "mutability": "mutable",
                  "name": "ttl",
                  "nodeType": "VariableDeclaration",
                  "scope": 3443,
                  "src": "758:10:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 3439,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "758:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "710:59:10"
            },
            "returnParameters": {
              "id": 3442,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "786:0:10"
            },
            "scope": 3533,
            "src": "692:95:10",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "5ef2c7f0",
            "id": 3456,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setSubnodeRecord",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3454,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3445,
                  "mutability": "mutable",
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 3456,
                  "src": "818:12:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3444,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "818:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3447,
                  "mutability": "mutable",
                  "name": "label",
                  "nodeType": "VariableDeclaration",
                  "scope": 3456,
                  "src": "832:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3446,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "832:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3449,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 3456,
                  "src": "847:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3448,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "847:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3451,
                  "mutability": "mutable",
                  "name": "resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 3456,
                  "src": "862:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3450,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "862:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3453,
                  "mutability": "mutable",
                  "name": "ttl",
                  "nodeType": "VariableDeclaration",
                  "scope": 3456,
                  "src": "880:10:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 3452,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "880:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "817:74:10"
            },
            "returnParameters": {
              "id": 3455,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "908:0:10"
            },
            "scope": 3533,
            "src": "792:117:10",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "06ab5923",
            "id": 3467,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setSubnodeOwner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3463,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3458,
                  "mutability": "mutable",
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 3467,
                  "src": "939:12:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3457,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "939:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3460,
                  "mutability": "mutable",
                  "name": "label",
                  "nodeType": "VariableDeclaration",
                  "scope": 3467,
                  "src": "953:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3459,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "953:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3462,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 3467,
                  "src": "968:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3461,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "968:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "938:44:10"
            },
            "returnParameters": {
              "id": 3466,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3465,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3467,
                  "src": "1008:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3464,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1008:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1007:9:10"
            },
            "scope": 3533,
            "src": "914:103:10",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "1896f70a",
            "id": 3474,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setResolver",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3472,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3469,
                  "mutability": "mutable",
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 3474,
                  "src": "1043:12:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3468,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1043:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3471,
                  "mutability": "mutable",
                  "name": "resolver",
                  "nodeType": "VariableDeclaration",
                  "scope": 3474,
                  "src": "1057:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3470,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1057:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1042:32:10"
            },
            "returnParameters": {
              "id": 3473,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1091:0:10"
            },
            "scope": 3533,
            "src": "1022:70:10",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "5b0fc9c3",
            "id": 3481,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setOwner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3479,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3476,
                  "mutability": "mutable",
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 3481,
                  "src": "1115:12:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3475,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1115:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3478,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 3481,
                  "src": "1129:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3477,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1129:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1114:29:10"
            },
            "returnParameters": {
              "id": 3480,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1160:0:10"
            },
            "scope": 3533,
            "src": "1097:64:10",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "14ab9038",
            "id": 3488,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setTTL",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3486,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3483,
                  "mutability": "mutable",
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 3488,
                  "src": "1182:12:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3482,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1182:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3485,
                  "mutability": "mutable",
                  "name": "ttl",
                  "nodeType": "VariableDeclaration",
                  "scope": 3488,
                  "src": "1196:10:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 3484,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "1196:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1181:26:10"
            },
            "returnParameters": {
              "id": 3487,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1224:0:10"
            },
            "scope": 3533,
            "src": "1166:59:10",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "a22cb465",
            "id": 3495,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setApprovalForAll",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3493,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3490,
                  "mutability": "mutable",
                  "name": "operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 3495,
                  "src": "1257:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3489,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1257:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3492,
                  "mutability": "mutable",
                  "name": "approved",
                  "nodeType": "VariableDeclaration",
                  "scope": 3495,
                  "src": "1275:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3491,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1275:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1256:33:10"
            },
            "returnParameters": {
              "id": 3494,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1306:0:10"
            },
            "scope": 3533,
            "src": "1230:77:10",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "02571be3",
            "id": 3502,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "owner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3498,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3497,
                  "mutability": "mutable",
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 3502,
                  "src": "1327:12:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3496,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1327:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1326:14:10"
            },
            "returnParameters": {
              "id": 3501,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3500,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3502,
                  "src": "1372:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3499,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1372:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1371:9:10"
            },
            "scope": 3533,
            "src": "1312:69:10",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "0178b8bf",
            "id": 3509,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "resolver",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3505,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3504,
                  "mutability": "mutable",
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 3509,
                  "src": "1404:12:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3503,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1404:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1403:14:10"
            },
            "returnParameters": {
              "id": 3508,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3507,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3509,
                  "src": "1449:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3506,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1449:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1448:9:10"
            },
            "scope": 3533,
            "src": "1386:72:10",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "16a25cbd",
            "id": 3516,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "ttl",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3512,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3511,
                  "mutability": "mutable",
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 3516,
                  "src": "1476:12:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3510,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1476:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1475:14:10"
            },
            "returnParameters": {
              "id": 3515,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3514,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3516,
                  "src": "1521:6:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  },
                  "typeName": {
                    "id": 3513,
                    "name": "uint64",
                    "nodeType": "ElementaryTypeName",
                    "src": "1521:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint64",
                      "typeString": "uint64"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1520:8:10"
            },
            "scope": 3533,
            "src": "1463:66:10",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "f79fe538",
            "id": 3523,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "recordExists",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3519,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3518,
                  "mutability": "mutable",
                  "name": "node",
                  "nodeType": "VariableDeclaration",
                  "scope": 3523,
                  "src": "1556:12:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 3517,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1556:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1555:14:10"
            },
            "returnParameters": {
              "id": 3522,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3521,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3523,
                  "src": "1601:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3520,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1601:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1600:6:10"
            },
            "scope": 3533,
            "src": "1534:73:10",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "functionSelector": "e985e9c5",
            "id": 3532,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isApprovedForAll",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3528,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3525,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 3532,
                  "src": "1638:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3524,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1638:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3527,
                  "mutability": "mutable",
                  "name": "operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 3532,
                  "src": "1653:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3526,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1653:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1637:33:10"
            },
            "returnParameters": {
              "id": 3531,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3530,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3532,
                  "src": "1702:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3529,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1702:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1701:6:10"
            },
            "scope": 3533,
            "src": "1612:96:10",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          }
        ],
        "scope": 3534,
        "src": "25:1685:10"
      }
    ],
    "src": "0:1711:10"
  },
  "legacyAST": {
    "attributes": {
      "absolutePath": "@ensdomains/ens/contracts/ENS.sol",
      "exportedSymbols": {
        "ENS": [
          3533
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.7",
            ".0"
          ]
        },
        "id": 3398,
        "name": "PragmaDirective",
        "src": "0:23:10"
      },
      {
        "attributes": {
          "abstract": false,
          "baseContracts": [
            null
          ],
          "contractDependencies": [
            null
          ],
          "contractKind": "interface",
          "fullyImplemented": false,
          "linearizedBaseContracts": [
            3533
          ],
          "name": "ENS",
          "scope": 3534
        },
        "children": [
          {
            "attributes": {
              "anonymous": false,
              "name": "NewOwner"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "node",
                      "scope": 3406,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3399,
                        "name": "ElementaryTypeName",
                        "src": "134:7:10"
                      }
                    ],
                    "id": 3400,
                    "name": "VariableDeclaration",
                    "src": "134:20:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "label",
                      "scope": 3406,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3401,
                        "name": "ElementaryTypeName",
                        "src": "156:7:10"
                      }
                    ],
                    "id": 3402,
                    "name": "VariableDeclaration",
                    "src": "156:21:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "owner",
                      "scope": 3406,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3403,
                        "name": "ElementaryTypeName",
                        "src": "179:7:10"
                      }
                    ],
                    "id": 3404,
                    "name": "VariableDeclaration",
                    "src": "179:13:10"
                  }
                ],
                "id": 3405,
                "name": "ParameterList",
                "src": "133:60:10"
              }
            ],
            "id": 3406,
            "name": "EventDefinition",
            "src": "119:75:10"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "Transfer"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "node",
                      "scope": 3412,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3407,
                        "name": "ElementaryTypeName",
                        "src": "292:7:10"
                      }
                    ],
                    "id": 3408,
                    "name": "VariableDeclaration",
                    "src": "292:20:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "owner",
                      "scope": 3412,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3409,
                        "name": "ElementaryTypeName",
                        "src": "314:7:10"
                      }
                    ],
                    "id": 3410,
                    "name": "VariableDeclaration",
                    "src": "314:13:10"
                  }
                ],
                "id": 3411,
                "name": "ParameterList",
                "src": "291:37:10"
              }
            ],
            "id": 3412,
            "name": "EventDefinition",
            "src": "277:52:10"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "NewResolver"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "node",
                      "scope": 3418,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3413,
                        "name": "ElementaryTypeName",
                        "src": "405:7:10"
                      }
                    ],
                    "id": 3414,
                    "name": "VariableDeclaration",
                    "src": "405:20:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "resolver",
                      "scope": 3418,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3415,
                        "name": "ElementaryTypeName",
                        "src": "427:7:10"
                      }
                    ],
                    "id": 3416,
                    "name": "VariableDeclaration",
                    "src": "427:16:10"
                  }
                ],
                "id": 3417,
                "name": "ParameterList",
                "src": "404:40:10"
              }
            ],
            "id": 3418,
            "name": "EventDefinition",
            "src": "387:58:10"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "NewTTL"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "node",
                      "scope": 3424,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3419,
                        "name": "ElementaryTypeName",
                        "src": "509:7:10"
                      }
                    ],
                    "id": 3420,
                    "name": "VariableDeclaration",
                    "src": "509:20:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "ttl",
                      "scope": 3424,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint64",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint64",
                          "type": "uint64"
                        },
                        "id": 3421,
                        "name": "ElementaryTypeName",
                        "src": "531:6:10"
                      }
                    ],
                    "id": 3422,
                    "name": "VariableDeclaration",
                    "src": "531:10:10"
                  }
                ],
                "id": 3423,
                "name": "ParameterList",
                "src": "508:34:10"
              }
            ],
            "id": 3424,
            "name": "EventDefinition",
            "src": "496:47:10"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "ApprovalForAll"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "owner",
                      "scope": 3432,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3425,
                        "name": "ElementaryTypeName",
                        "src": "622:7:10"
                      }
                    ],
                    "id": 3426,
                    "name": "VariableDeclaration",
                    "src": "622:21:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "operator",
                      "scope": 3432,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3427,
                        "name": "ElementaryTypeName",
                        "src": "645:7:10"
                      }
                    ],
                    "id": 3428,
                    "name": "VariableDeclaration",
                    "src": "645:24:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "approved",
                      "scope": 3432,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 3429,
                        "name": "ElementaryTypeName",
                        "src": "671:4:10"
                      }
                    ],
                    "id": 3430,
                    "name": "VariableDeclaration",
                    "src": "671:13:10"
                  }
                ],
                "id": 3431,
                "name": "ParameterList",
                "src": "621:64:10"
              }
            ],
            "id": 3432,
            "name": "EventDefinition",
            "src": "601:85:10"
          },
          {
            "attributes": {
              "functionSelector": "cf408823",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "setRecord",
              "scope": 3533,
              "stateMutability": "nonpayable",
              "virtual": true,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "node",
                      "scope": 3443,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3433,
                        "name": "ElementaryTypeName",
                        "src": "711:7:10"
                      }
                    ],
                    "id": 3434,
                    "name": "VariableDeclaration",
                    "src": "711:12:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "owner",
                      "scope": 3443,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3435,
                        "name": "ElementaryTypeName",
                        "src": "725:7:10"
                      }
                    ],
                    "id": 3436,
                    "name": "VariableDeclaration",
                    "src": "725:13:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "resolver",
                      "scope": 3443,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3437,
                        "name": "ElementaryTypeName",
                        "src": "740:7:10"
                      }
                    ],
                    "id": 3438,
                    "name": "VariableDeclaration",
                    "src": "740:16:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "ttl",
                      "scope": 3443,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint64",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint64",
                          "type": "uint64"
                        },
                        "id": 3439,
                        "name": "ElementaryTypeName",
                        "src": "758:6:10"
                      }
                    ],
                    "id": 3440,
                    "name": "VariableDeclaration",
                    "src": "758:10:10"
                  }
                ],
                "id": 3441,
                "name": "ParameterList",
                "src": "710:59:10"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 3442,
                "name": "ParameterList",
                "src": "786:0:10"
              }
            ],
            "id": 3443,
            "name": "FunctionDefinition",
            "src": "692:95:10"
          },
          {
            "attributes": {
              "functionSelector": "5ef2c7f0",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "setSubnodeRecord",
              "scope": 3533,
              "stateMutability": "nonpayable",
              "virtual": true,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "node",
                      "scope": 3456,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3444,
                        "name": "ElementaryTypeName",
                        "src": "818:7:10"
                      }
                    ],
                    "id": 3445,
                    "name": "VariableDeclaration",
                    "src": "818:12:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "label",
                      "scope": 3456,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3446,
                        "name": "ElementaryTypeName",
                        "src": "832:7:10"
                      }
                    ],
                    "id": 3447,
                    "name": "VariableDeclaration",
                    "src": "832:13:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "owner",
                      "scope": 3456,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3448,
                        "name": "ElementaryTypeName",
                        "src": "847:7:10"
                      }
                    ],
                    "id": 3449,
                    "name": "VariableDeclaration",
                    "src": "847:13:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "resolver",
                      "scope": 3456,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3450,
                        "name": "ElementaryTypeName",
                        "src": "862:7:10"
                      }
                    ],
                    "id": 3451,
                    "name": "VariableDeclaration",
                    "src": "862:16:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "ttl",
                      "scope": 3456,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint64",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint64",
                          "type": "uint64"
                        },
                        "id": 3452,
                        "name": "ElementaryTypeName",
                        "src": "880:6:10"
                      }
                    ],
                    "id": 3453,
                    "name": "VariableDeclaration",
                    "src": "880:10:10"
                  }
                ],
                "id": 3454,
                "name": "ParameterList",
                "src": "817:74:10"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 3455,
                "name": "ParameterList",
                "src": "908:0:10"
              }
            ],
            "id": 3456,
            "name": "FunctionDefinition",
            "src": "792:117:10"
          },
          {
            "attributes": {
              "functionSelector": "06ab5923",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "setSubnodeOwner",
              "scope": 3533,
              "stateMutability": "nonpayable",
              "virtual": true,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "node",
                      "scope": 3467,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3457,
                        "name": "ElementaryTypeName",
                        "src": "939:7:10"
                      }
                    ],
                    "id": 3458,
                    "name": "VariableDeclaration",
                    "src": "939:12:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "label",
                      "scope": 3467,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3459,
                        "name": "ElementaryTypeName",
                        "src": "953:7:10"
                      }
                    ],
                    "id": 3460,
                    "name": "VariableDeclaration",
                    "src": "953:13:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "owner",
                      "scope": 3467,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3461,
                        "name": "ElementaryTypeName",
                        "src": "968:7:10"
                      }
                    ],
                    "id": 3462,
                    "name": "VariableDeclaration",
                    "src": "968:13:10"
                  }
                ],
                "id": 3463,
                "name": "ParameterList",
                "src": "938:44:10"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "scope": 3467,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3464,
                        "name": "ElementaryTypeName",
                        "src": "1008:7:10"
                      }
                    ],
                    "id": 3465,
                    "name": "VariableDeclaration",
                    "src": "1008:7:10"
                  }
                ],
                "id": 3466,
                "name": "ParameterList",
                "src": "1007:9:10"
              }
            ],
            "id": 3467,
            "name": "FunctionDefinition",
            "src": "914:103:10"
          },
          {
            "attributes": {
              "functionSelector": "1896f70a",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "setResolver",
              "scope": 3533,
              "stateMutability": "nonpayable",
              "virtual": true,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "node",
                      "scope": 3474,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3468,
                        "name": "ElementaryTypeName",
                        "src": "1043:7:10"
                      }
                    ],
                    "id": 3469,
                    "name": "VariableDeclaration",
                    "src": "1043:12:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "resolver",
                      "scope": 3474,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3470,
                        "name": "ElementaryTypeName",
                        "src": "1057:7:10"
                      }
                    ],
                    "id": 3471,
                    "name": "VariableDeclaration",
                    "src": "1057:16:10"
                  }
                ],
                "id": 3472,
                "name": "ParameterList",
                "src": "1042:32:10"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 3473,
                "name": "ParameterList",
                "src": "1091:0:10"
              }
            ],
            "id": 3474,
            "name": "FunctionDefinition",
            "src": "1022:70:10"
          },
          {
            "attributes": {
              "functionSelector": "5b0fc9c3",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "setOwner",
              "scope": 3533,
              "stateMutability": "nonpayable",
              "virtual": true,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "node",
                      "scope": 3481,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3475,
                        "name": "ElementaryTypeName",
                        "src": "1115:7:10"
                      }
                    ],
                    "id": 3476,
                    "name": "VariableDeclaration",
                    "src": "1115:12:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "owner",
                      "scope": 3481,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3477,
                        "name": "ElementaryTypeName",
                        "src": "1129:7:10"
                      }
                    ],
                    "id": 3478,
                    "name": "VariableDeclaration",
                    "src": "1129:13:10"
                  }
                ],
                "id": 3479,
                "name": "ParameterList",
                "src": "1114:29:10"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 3480,
                "name": "ParameterList",
                "src": "1160:0:10"
              }
            ],
            "id": 3481,
            "name": "FunctionDefinition",
            "src": "1097:64:10"
          },
          {
            "attributes": {
              "functionSelector": "14ab9038",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "setTTL",
              "scope": 3533,
              "stateMutability": "nonpayable",
              "virtual": true,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "node",
                      "scope": 3488,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3482,
                        "name": "ElementaryTypeName",
                        "src": "1182:7:10"
                      }
                    ],
                    "id": 3483,
                    "name": "VariableDeclaration",
                    "src": "1182:12:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "ttl",
                      "scope": 3488,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint64",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint64",
                          "type": "uint64"
                        },
                        "id": 3484,
                        "name": "ElementaryTypeName",
                        "src": "1196:6:10"
                      }
                    ],
                    "id": 3485,
                    "name": "VariableDeclaration",
                    "src": "1196:10:10"
                  }
                ],
                "id": 3486,
                "name": "ParameterList",
                "src": "1181:26:10"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 3487,
                "name": "ParameterList",
                "src": "1224:0:10"
              }
            ],
            "id": 3488,
            "name": "FunctionDefinition",
            "src": "1166:59:10"
          },
          {
            "attributes": {
              "functionSelector": "a22cb465",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "setApprovalForAll",
              "scope": 3533,
              "stateMutability": "nonpayable",
              "virtual": true,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "operator",
                      "scope": 3495,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3489,
                        "name": "ElementaryTypeName",
                        "src": "1257:7:10"
                      }
                    ],
                    "id": 3490,
                    "name": "VariableDeclaration",
                    "src": "1257:16:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "approved",
                      "scope": 3495,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 3491,
                        "name": "ElementaryTypeName",
                        "src": "1275:4:10"
                      }
                    ],
                    "id": 3492,
                    "name": "VariableDeclaration",
                    "src": "1275:13:10"
                  }
                ],
                "id": 3493,
                "name": "ParameterList",
                "src": "1256:33:10"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 3494,
                "name": "ParameterList",
                "src": "1306:0:10"
              }
            ],
            "id": 3495,
            "name": "FunctionDefinition",
            "src": "1230:77:10"
          },
          {
            "attributes": {
              "functionSelector": "02571be3",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "owner",
              "scope": 3533,
              "stateMutability": "view",
              "virtual": true,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "node",
                      "scope": 3502,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3496,
                        "name": "ElementaryTypeName",
                        "src": "1327:7:10"
                      }
                    ],
                    "id": 3497,
                    "name": "VariableDeclaration",
                    "src": "1327:12:10"
                  }
                ],
                "id": 3498,
                "name": "ParameterList",
                "src": "1326:14:10"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "scope": 3502,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3499,
                        "name": "ElementaryTypeName",
                        "src": "1372:7:10"
                      }
                    ],
                    "id": 3500,
                    "name": "VariableDeclaration",
                    "src": "1372:7:10"
                  }
                ],
                "id": 3501,
                "name": "ParameterList",
                "src": "1371:9:10"
              }
            ],
            "id": 3502,
            "name": "FunctionDefinition",
            "src": "1312:69:10"
          },
          {
            "attributes": {
              "functionSelector": "0178b8bf",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "resolver",
              "scope": 3533,
              "stateMutability": "view",
              "virtual": true,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "node",
                      "scope": 3509,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3503,
                        "name": "ElementaryTypeName",
                        "src": "1404:7:10"
                      }
                    ],
                    "id": 3504,
                    "name": "VariableDeclaration",
                    "src": "1404:12:10"
                  }
                ],
                "id": 3505,
                "name": "ParameterList",
                "src": "1403:14:10"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "scope": 3509,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3506,
                        "name": "ElementaryTypeName",
                        "src": "1449:7:10"
                      }
                    ],
                    "id": 3507,
                    "name": "VariableDeclaration",
                    "src": "1449:7:10"
                  }
                ],
                "id": 3508,
                "name": "ParameterList",
                "src": "1448:9:10"
              }
            ],
            "id": 3509,
            "name": "FunctionDefinition",
            "src": "1386:72:10"
          },
          {
            "attributes": {
              "functionSelector": "16a25cbd",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "ttl",
              "scope": 3533,
              "stateMutability": "view",
              "virtual": true,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "node",
                      "scope": 3516,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3510,
                        "name": "ElementaryTypeName",
                        "src": "1476:7:10"
                      }
                    ],
                    "id": 3511,
                    "name": "VariableDeclaration",
                    "src": "1476:12:10"
                  }
                ],
                "id": 3512,
                "name": "ParameterList",
                "src": "1475:14:10"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "scope": 3516,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint64",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint64",
                          "type": "uint64"
                        },
                        "id": 3513,
                        "name": "ElementaryTypeName",
                        "src": "1521:6:10"
                      }
                    ],
                    "id": 3514,
                    "name": "VariableDeclaration",
                    "src": "1521:6:10"
                  }
                ],
                "id": 3515,
                "name": "ParameterList",
                "src": "1520:8:10"
              }
            ],
            "id": 3516,
            "name": "FunctionDefinition",
            "src": "1463:66:10"
          },
          {
            "attributes": {
              "functionSelector": "f79fe538",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "recordExists",
              "scope": 3533,
              "stateMutability": "view",
              "virtual": true,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "node",
                      "scope": 3523,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 3517,
                        "name": "ElementaryTypeName",
                        "src": "1556:7:10"
                      }
                    ],
                    "id": 3518,
                    "name": "VariableDeclaration",
                    "src": "1556:12:10"
                  }
                ],
                "id": 3519,
                "name": "ParameterList",
                "src": "1555:14:10"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "scope": 3523,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 3520,
                        "name": "ElementaryTypeName",
                        "src": "1601:4:10"
                      }
                    ],
                    "id": 3521,
                    "name": "VariableDeclaration",
                    "src": "1601:4:10"
                  }
                ],
                "id": 3522,
                "name": "ParameterList",
                "src": "1600:6:10"
              }
            ],
            "id": 3523,
            "name": "FunctionDefinition",
            "src": "1534:73:10"
          },
          {
            "attributes": {
              "functionSelector": "e985e9c5",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "isApprovedForAll",
              "scope": 3533,
              "stateMutability": "view",
              "virtual": true,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "owner",
                      "scope": 3532,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3524,
                        "name": "ElementaryTypeName",
                        "src": "1638:7:10"
                      }
                    ],
                    "id": 3525,
                    "name": "VariableDeclaration",
                    "src": "1638:13:10"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "operator",
                      "scope": 3532,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 3526,
                        "name": "ElementaryTypeName",
                        "src": "1653:7:10"
                      }
                    ],
                    "id": 3527,
                    "name": "VariableDeclaration",
                    "src": "1653:16:10"
                  }
                ],
                "id": 3528,
                "name": "ParameterList",
                "src": "1637:33:10"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "scope": 3532,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 3529,
                        "name": "ElementaryTypeName",
                        "src": "1702:4:10"
                      }
                    ],
                    "id": 3530,
                    "name": "VariableDeclaration",
                    "src": "1702:4:10"
                  }
                ],
                "id": 3531,
                "name": "ParameterList",
                "src": "1701:6:10"
              }
            ],
            "id": 3532,
            "name": "FunctionDefinition",
            "src": "1612:96:10"
          }
        ],
        "id": 3533,
        "name": "ContractDefinition",
        "src": "25:1685:10"
      }
    ],
    "id": 3534,
    "name": "SourceUnit",
    "src": "0:1711:10"
  },
  "compiler": {
    "name": "solc",
    "version": "0.7.4+commit.3f05b770.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.3.3",
  "updatedAt": "2021-01-21T03:26:26.185Z",
  "devdoc": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "userdoc": {
    "kind": "user",
    "methods": {},
    "version": 1
  }
}