{
  "type": "File",
  "start": 0,
  "end": 3219,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 124,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 3219,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 124,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "VariableDeclaration",
        "start": 15,
        "end": 42,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 27
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 19,
            "end": 41,
            "loc": {
              "start": {
                "line": 3,
                "column": 4
              },
              "end": {
                "line": 3,
                "column": 26
              }
            },
            "id": {
              "type": "Identifier",
              "start": 19,
              "end": 23,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 4
                },
                "end": {
                  "line": 3,
                  "column": 8
                },
                "identifierName": "util"
              },
              "name": "util"
            },
            "init": {
              "type": "CallExpression",
              "start": 26,
              "end": 41,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 11
                },
                "end": {
                  "line": 3,
                  "column": 26
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 26,
                "end": 33,
                "loc": {
                  "start": {
                    "line": 3,
                    "column": 11
                  },
                  "end": {
                    "line": 3,
                    "column": 18
                  },
                  "identifierName": "require"
                },
                "name": "require"
              },
              "arguments": [
                {
                  "type": "StringLiteral",
                  "start": 34,
                  "end": 40,
                  "loc": {
                    "start": {
                      "line": 3,
                      "column": 19
                    },
                    "end": {
                      "line": 3,
                      "column": 25
                    }
                  },
                  "extra": {
                    "rawValue": "util",
                    "raw": "'util'"
                  },
                  "value": "util"
                }
              ]
            }
          }
        ],
        "kind": "var",
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * A collection of properties related to deferrable constraints. It can be used to\n * make foreign key constraints deferrable and to set the constraints within a\n * transaction. This is only supported in PostgreSQL.\n *\n * The foreign keys can be configured like this. It will create a foreign key\n * that will check the constraints immediately when the data was inserted.\n *\n * ```js\n * sequelize.define('Model', {\n *   foreign_id: {\n *     type: Sequelize.INTEGER,\n *     references: {\n *       model: OtherModel,\n *       key: 'id',\n *       deferrable: Sequelize.Deferrable.INITIALLY_IMMEDIATE\n *     }\n *   }\n * });\n * ```\n *\n * The constraints can be configured in a transaction like this. It will\n * trigger a query once the transaction has been started and set the constraints\n * to be checked at the very end of the transaction.\n *\n * ```js\n * sequelize.transaction({\n *   deferrable: Sequelize.Deferrable.SET_DEFERRED\n * });\n * ```\n *\n * @property INITIALLY_DEFERRED Defer constraints checks to the end of transactions.\n * @property INITIALLY_IMMEDIATE Trigger the constraint checks immediately\n * @property NOT Set the constraints to not deferred. This is the default in PostgreSQL and it make it impossible to dynamically defer the constraints within a transaction.\n * @property SET_DEFERRED\n * @property SET_IMMEDIATE\n ",
            "start": 45,
            "end": 1382,
            "loc": {
              "start": {
                "line": 6,
                "column": 0
              },
              "end": {
                "line": 42,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "VariableDeclaration",
        "start": 1383,
        "end": 1505,
        "loc": {
          "start": {
            "line": 43,
            "column": 0
          },
          "end": {
            "line": 49,
            "column": 2
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 1387,
            "end": 1504,
            "loc": {
              "start": {
                "line": 43,
                "column": 4
              },
              "end": {
                "line": 49,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 1387,
              "end": 1397,
              "loc": {
                "start": {
                  "line": 43,
                  "column": 4
                },
                "end": {
                  "line": 43,
                  "column": 14
                },
                "identifierName": "Deferrable"
              },
              "name": "Deferrable",
              "leadingComments": null
            },
            "init": {
              "type": "AssignmentExpression",
              "start": 1400,
              "end": 1504,
              "loc": {
                "start": {
                  "line": 43,
                  "column": 17
                },
                "end": {
                  "line": 49,
                  "column": 1
                }
              },
              "operator": "=",
              "left": {
                "type": "MemberExpression",
                "start": 1400,
                "end": 1414,
                "loc": {
                  "start": {
                    "line": 43,
                    "column": 17
                  },
                  "end": {
                    "line": 43,
                    "column": 31
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 1400,
                  "end": 1406,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 17
                    },
                    "end": {
                      "line": 43,
                      "column": 23
                    },
                    "identifierName": "module"
                  },
                  "name": "module"
                },
                "property": {
                  "type": "Identifier",
                  "start": 1407,
                  "end": 1414,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 24
                    },
                    "end": {
                      "line": 43,
                      "column": 31
                    },
                    "identifierName": "exports"
                  },
                  "name": "exports"
                },
                "computed": false
              },
              "right": {
                "type": "ObjectExpression",
                "start": 1417,
                "end": 1504,
                "loc": {
                  "start": {
                    "line": 43,
                    "column": 34
                  },
                  "end": {
                    "line": 49,
                    "column": 1
                  }
                },
                "properties": [
                  {
                    "type": "ObjectProperty",
                    "start": 1421,
                    "end": 1439,
                    "loc": {
                      "start": {
                        "line": 44,
                        "column": 2
                      },
                      "end": {
                        "line": 44,
                        "column": 20
                      }
                    },
                    "method": false,
                    "shorthand": true,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 1421,
                      "end": 1439,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 2
                        },
                        "end": {
                          "line": 44,
                          "column": 20
                        },
                        "identifierName": "INITIALLY_DEFERRED"
                      },
                      "name": "INITIALLY_DEFERRED"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 1421,
                      "end": 1439,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 2
                        },
                        "end": {
                          "line": 44,
                          "column": 20
                        },
                        "identifierName": "INITIALLY_DEFERRED"
                      },
                      "name": "INITIALLY_DEFERRED"
                    },
                    "extra": {
                      "shorthand": true
                    }
                  },
                  {
                    "type": "ObjectProperty",
                    "start": 1443,
                    "end": 1462,
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 2
                      },
                      "end": {
                        "line": 45,
                        "column": 21
                      }
                    },
                    "method": false,
                    "shorthand": true,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 1443,
                      "end": 1462,
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 2
                        },
                        "end": {
                          "line": 45,
                          "column": 21
                        },
                        "identifierName": "INITIALLY_IMMEDIATE"
                      },
                      "name": "INITIALLY_IMMEDIATE"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 1443,
                      "end": 1462,
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 2
                        },
                        "end": {
                          "line": 45,
                          "column": 21
                        },
                        "identifierName": "INITIALLY_IMMEDIATE"
                      },
                      "name": "INITIALLY_IMMEDIATE"
                    },
                    "extra": {
                      "shorthand": true
                    }
                  },
                  {
                    "type": "ObjectProperty",
                    "start": 1466,
                    "end": 1469,
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 2
                      },
                      "end": {
                        "line": 46,
                        "column": 5
                      }
                    },
                    "method": false,
                    "shorthand": true,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 1466,
                      "end": 1469,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 2
                        },
                        "end": {
                          "line": 46,
                          "column": 5
                        },
                        "identifierName": "NOT"
                      },
                      "name": "NOT"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 1466,
                      "end": 1469,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 2
                        },
                        "end": {
                          "line": 46,
                          "column": 5
                        },
                        "identifierName": "NOT"
                      },
                      "name": "NOT"
                    },
                    "extra": {
                      "shorthand": true
                    }
                  },
                  {
                    "type": "ObjectProperty",
                    "start": 1473,
                    "end": 1485,
                    "loc": {
                      "start": {
                        "line": 47,
                        "column": 2
                      },
                      "end": {
                        "line": 47,
                        "column": 14
                      }
                    },
                    "method": false,
                    "shorthand": true,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 1473,
                      "end": 1485,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 2
                        },
                        "end": {
                          "line": 47,
                          "column": 14
                        },
                        "identifierName": "SET_DEFERRED"
                      },
                      "name": "SET_DEFERRED"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 1473,
                      "end": 1485,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 2
                        },
                        "end": {
                          "line": 47,
                          "column": 14
                        },
                        "identifierName": "SET_DEFERRED"
                      },
                      "name": "SET_DEFERRED"
                    },
                    "extra": {
                      "shorthand": true
                    }
                  },
                  {
                    "type": "ObjectProperty",
                    "start": 1489,
                    "end": 1502,
                    "loc": {
                      "start": {
                        "line": 48,
                        "column": 2
                      },
                      "end": {
                        "line": 48,
                        "column": 15
                      }
                    },
                    "method": false,
                    "shorthand": true,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 1489,
                      "end": 1502,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 2
                        },
                        "end": {
                          "line": 48,
                          "column": 15
                        },
                        "identifierName": "SET_IMMEDIATE"
                      },
                      "name": "SET_IMMEDIATE"
                    },
                    "value": {
                      "type": "Identifier",
                      "start": 1489,
                      "end": 1502,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 2
                        },
                        "end": {
                          "line": 48,
                          "column": 15
                        },
                        "identifierName": "SET_IMMEDIATE"
                      },
                      "name": "SET_IMMEDIATE"
                    },
                    "extra": {
                      "shorthand": true
                    }
                  }
                ]
              }
            },
            "leadingComments": null
          }
        ],
        "kind": "var",
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * A collection of properties related to deferrable constraints. It can be used to\n * make foreign key constraints deferrable and to set the constraints within a\n * transaction. This is only supported in PostgreSQL.\n *\n * The foreign keys can be configured like this. It will create a foreign key\n * that will check the constraints immediately when the data was inserted.\n *\n * ```js\n * sequelize.define('Model', {\n *   foreign_id: {\n *     type: Sequelize.INTEGER,\n *     references: {\n *       model: OtherModel,\n *       key: 'id',\n *       deferrable: Sequelize.Deferrable.INITIALLY_IMMEDIATE\n *     }\n *   }\n * });\n * ```\n *\n * The constraints can be configured in a transaction like this. It will\n * trigger a query once the transaction has been started and set the constraints\n * to be checked at the very end of the transaction.\n *\n * ```js\n * sequelize.transaction({\n *   deferrable: Sequelize.Deferrable.SET_DEFERRED\n * });\n * ```\n *\n * @property INITIALLY_DEFERRED Defer constraints checks to the end of transactions.\n * @property INITIALLY_IMMEDIATE Trigger the constraint checks immediately\n * @property NOT Set the constraints to not deferred. This is the default in PostgreSQL and it make it impossible to dynamically defer the constraints within a transaction.\n * @property SET_DEFERRED\n * @property SET_IMMEDIATE\n ",
            "start": 45,
            "end": 1382,
            "loc": {
              "start": {
                "line": 6,
                "column": 0
              },
              "end": {
                "line": 42,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "FunctionDeclaration",
        "start": 1507,
        "end": 1529,
        "loc": {
          "start": {
            "line": 51,
            "column": 0
          },
          "end": {
            "line": 51,
            "column": 22
          }
        },
        "id": {
          "type": "Identifier",
          "start": 1516,
          "end": 1524,
          "loc": {
            "start": {
              "line": 51,
              "column": 9
            },
            "end": {
              "line": 51,
              "column": 17
            },
            "identifierName": "ABSTRACT"
          },
          "name": "ABSTRACT"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [],
        "body": {
          "type": "BlockStatement",
          "start": 1527,
          "end": 1529,
          "loc": {
            "start": {
              "line": 51,
              "column": 20
            },
            "end": {
              "line": 51,
              "column": 22
            }
          },
          "body": [],
          "directives": []
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 1531,
        "end": 1620,
        "loc": {
          "start": {
            "line": 53,
            "column": 0
          },
          "end": {
            "line": 55,
            "column": 2
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 1531,
          "end": 1619,
          "loc": {
            "start": {
              "line": 53,
              "column": 0
            },
            "end": {
              "line": 55,
              "column": 1
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 1531,
            "end": 1558,
            "loc": {
              "start": {
                "line": 53,
                "column": 0
              },
              "end": {
                "line": 53,
                "column": 27
              }
            },
            "object": {
              "type": "MemberExpression",
              "start": 1531,
              "end": 1549,
              "loc": {
                "start": {
                  "line": 53,
                  "column": 0
                },
                "end": {
                  "line": 53,
                  "column": 18
                }
              },
              "object": {
                "type": "Identifier",
                "start": 1531,
                "end": 1539,
                "loc": {
                  "start": {
                    "line": 53,
                    "column": 0
                  },
                  "end": {
                    "line": 53,
                    "column": 8
                  },
                  "identifierName": "ABSTRACT"
                },
                "name": "ABSTRACT"
              },
              "property": {
                "type": "Identifier",
                "start": 1540,
                "end": 1549,
                "loc": {
                  "start": {
                    "line": 53,
                    "column": 9
                  },
                  "end": {
                    "line": 53,
                    "column": 18
                  },
                  "identifierName": "prototype"
                },
                "name": "prototype"
              },
              "computed": false
            },
            "property": {
              "type": "Identifier",
              "start": 1550,
              "end": 1558,
              "loc": {
                "start": {
                  "line": 53,
                  "column": 19
                },
                "end": {
                  "line": 53,
                  "column": 27
                },
                "identifierName": "toString"
              },
              "name": "toString"
            },
            "computed": false
          },
          "right": {
            "type": "FunctionExpression",
            "start": 1561,
            "end": 1619,
            "loc": {
              "start": {
                "line": 53,
                "column": 30
              },
              "end": {
                "line": 55,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 1550,
              "end": 1558,
              "loc": {
                "start": {
                  "line": 53,
                  "column": 19
                },
                "end": {
                  "line": 53,
                  "column": 27
                },
                "identifierName": "toString"
              },
              "name": "toString"
            },
            "generator": false,
            "expression": false,
            "async": false,
            "params": [],
            "body": {
              "type": "BlockStatement",
              "start": 1572,
              "end": 1619,
              "loc": {
                "start": {
                  "line": 53,
                  "column": 41
                },
                "end": {
                  "line": 55,
                  "column": 1
                }
              },
              "body": [
                {
                  "type": "ReturnStatement",
                  "start": 1576,
                  "end": 1617,
                  "loc": {
                    "start": {
                      "line": 54,
                      "column": 2
                    },
                    "end": {
                      "line": 54,
                      "column": 43
                    }
                  },
                  "argument": {
                    "type": "CallExpression",
                    "start": 1583,
                    "end": 1616,
                    "loc": {
                      "start": {
                        "line": 54,
                        "column": 9
                      },
                      "end": {
                        "line": 54,
                        "column": 42
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 1583,
                      "end": 1599,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 9
                        },
                        "end": {
                          "line": 54,
                          "column": 25
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 1583,
                        "end": 1593,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 9
                          },
                          "end": {
                            "line": 54,
                            "column": 19
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 1583,
                          "end": 1587,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 9
                            },
                            "end": {
                              "line": 54,
                              "column": 13
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1588,
                          "end": 1593,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 14
                            },
                            "end": {
                              "line": 54,
                              "column": 19
                            },
                            "identifierName": "toSql"
                          },
                          "name": "toSql"
                        },
                        "computed": false
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 1594,
                        "end": 1599,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 20
                          },
                          "end": {
                            "line": 54,
                            "column": 25
                          },
                          "identifierName": "apply"
                        },
                        "name": "apply"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "ThisExpression",
                        "start": 1600,
                        "end": 1604,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 26
                          },
                          "end": {
                            "line": 54,
                            "column": 30
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "start": 1606,
                        "end": 1615,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 32
                          },
                          "end": {
                            "line": 54,
                            "column": 41
                          },
                          "identifierName": "arguments"
                        },
                        "name": "arguments"
                      }
                    ]
                  }
                }
              ],
              "directives": []
            }
          }
        }
      },
      {
        "type": "FunctionDeclaration",
        "start": 1622,
        "end": 1743,
        "loc": {
          "start": {
            "line": 57,
            "column": 0
          },
          "end": {
            "line": 61,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 1631,
          "end": 1649,
          "loc": {
            "start": {
              "line": 57,
              "column": 9
            },
            "end": {
              "line": 57,
              "column": 27
            },
            "identifierName": "INITIALLY_DEFERRED"
          },
          "name": "INITIALLY_DEFERRED"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [],
        "body": {
          "type": "BlockStatement",
          "start": 1652,
          "end": 1743,
          "loc": {
            "start": {
              "line": 57,
              "column": 30
            },
            "end": {
              "line": 61,
              "column": 1
            }
          },
          "body": [
            {
              "type": "IfStatement",
              "start": 1656,
              "end": 1741,
              "loc": {
                "start": {
                  "line": 58,
                  "column": 2
                },
                "end": {
                  "line": 60,
                  "column": 3
                }
              },
              "test": {
                "type": "UnaryExpression",
                "start": 1660,
                "end": 1697,
                "loc": {
                  "start": {
                    "line": 58,
                    "column": 6
                  },
                  "end": {
                    "line": 58,
                    "column": 43
                  }
                },
                "operator": "!",
                "prefix": true,
                "argument": {
                  "type": "BinaryExpression",
                  "start": 1662,
                  "end": 1696,
                  "loc": {
                    "start": {
                      "line": 58,
                      "column": 8
                    },
                    "end": {
                      "line": 58,
                      "column": 42
                    }
                  },
                  "left": {
                    "type": "ThisExpression",
                    "start": 1662,
                    "end": 1666,
                    "loc": {
                      "start": {
                        "line": 58,
                        "column": 8
                      },
                      "end": {
                        "line": 58,
                        "column": 12
                      }
                    }
                  },
                  "operator": "instanceof",
                  "right": {
                    "type": "Identifier",
                    "start": 1678,
                    "end": 1696,
                    "loc": {
                      "start": {
                        "line": 58,
                        "column": 24
                      },
                      "end": {
                        "line": 58,
                        "column": 42
                      },
                      "identifierName": "INITIALLY_DEFERRED"
                    },
                    "name": "INITIALLY_DEFERRED"
                  },
                  "extra": {
                    "parenthesized": true,
                    "parenStart": 1661
                  }
                },
                "extra": {
                  "parenthesizedArgument": false
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 1699,
                "end": 1741,
                "loc": {
                  "start": {
                    "line": 58,
                    "column": 45
                  },
                  "end": {
                    "line": 60,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 1705,
                    "end": 1737,
                    "loc": {
                      "start": {
                        "line": 59,
                        "column": 4
                      },
                      "end": {
                        "line": 59,
                        "column": 36
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 1712,
                      "end": 1736,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 11
                        },
                        "end": {
                          "line": 59,
                          "column": 35
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 1716,
                        "end": 1734,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 15
                          },
                          "end": {
                            "line": 59,
                            "column": 33
                          },
                          "identifierName": "INITIALLY_DEFERRED"
                        },
                        "name": "INITIALLY_DEFERRED"
                      },
                      "arguments": []
                    }
                  }
                ],
                "directives": []
              },
              "alternate": null
            }
          ],
          "directives": []
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 1744,
        "end": 1788,
        "loc": {
          "start": {
            "line": 62,
            "column": 0
          },
          "end": {
            "line": 62,
            "column": 44
          }
        },
        "expression": {
          "type": "CallExpression",
          "start": 1744,
          "end": 1787,
          "loc": {
            "start": {
              "line": 62,
              "column": 0
            },
            "end": {
              "line": 62,
              "column": 43
            }
          },
          "callee": {
            "type": "MemberExpression",
            "start": 1744,
            "end": 1757,
            "loc": {
              "start": {
                "line": 62,
                "column": 0
              },
              "end": {
                "line": 62,
                "column": 13
              }
            },
            "object": {
              "type": "Identifier",
              "start": 1744,
              "end": 1748,
              "loc": {
                "start": {
                  "line": 62,
                  "column": 0
                },
                "end": {
                  "line": 62,
                  "column": 4
                },
                "identifierName": "util"
              },
              "name": "util"
            },
            "property": {
              "type": "Identifier",
              "start": 1749,
              "end": 1757,
              "loc": {
                "start": {
                  "line": 62,
                  "column": 5
                },
                "end": {
                  "line": 62,
                  "column": 13
                },
                "identifierName": "inherits"
              },
              "name": "inherits"
            },
            "computed": false
          },
          "arguments": [
            {
              "type": "Identifier",
              "start": 1758,
              "end": 1776,
              "loc": {
                "start": {
                  "line": 62,
                  "column": 14
                },
                "end": {
                  "line": 62,
                  "column": 32
                },
                "identifierName": "INITIALLY_DEFERRED"
              },
              "name": "INITIALLY_DEFERRED"
            },
            {
              "type": "Identifier",
              "start": 1778,
              "end": 1786,
              "loc": {
                "start": {
                  "line": 62,
                  "column": 34
                },
                "end": {
                  "line": 62,
                  "column": 42
                },
                "identifierName": "ABSTRACT"
              },
              "name": "ABSTRACT"
            }
          ]
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 1790,
        "end": 1884,
        "loc": {
          "start": {
            "line": 64,
            "column": 0
          },
          "end": {
            "line": 66,
            "column": 2
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 1790,
          "end": 1883,
          "loc": {
            "start": {
              "line": 64,
              "column": 0
            },
            "end": {
              "line": 66,
              "column": 1
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 1790,
            "end": 1824,
            "loc": {
              "start": {
                "line": 64,
                "column": 0
              },
              "end": {
                "line": 64,
                "column": 34
              }
            },
            "object": {
              "type": "MemberExpression",
              "start": 1790,
              "end": 1818,
              "loc": {
                "start": {
                  "line": 64,
                  "column": 0
                },
                "end": {
                  "line": 64,
                  "column": 28
                }
              },
              "object": {
                "type": "Identifier",
                "start": 1790,
                "end": 1808,
                "loc": {
                  "start": {
                    "line": 64,
                    "column": 0
                  },
                  "end": {
                    "line": 64,
                    "column": 18
                  },
                  "identifierName": "INITIALLY_DEFERRED"
                },
                "name": "INITIALLY_DEFERRED"
              },
              "property": {
                "type": "Identifier",
                "start": 1809,
                "end": 1818,
                "loc": {
                  "start": {
                    "line": 64,
                    "column": 19
                  },
                  "end": {
                    "line": 64,
                    "column": 28
                  },
                  "identifierName": "prototype"
                },
                "name": "prototype"
              },
              "computed": false
            },
            "property": {
              "type": "Identifier",
              "start": 1819,
              "end": 1824,
              "loc": {
                "start": {
                  "line": 64,
                  "column": 29
                },
                "end": {
                  "line": 64,
                  "column": 34
                },
                "identifierName": "toSql"
              },
              "name": "toSql"
            },
            "computed": false
          },
          "right": {
            "type": "FunctionExpression",
            "start": 1827,
            "end": 1883,
            "loc": {
              "start": {
                "line": 64,
                "column": 37
              },
              "end": {
                "line": 66,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 1819,
              "end": 1824,
              "loc": {
                "start": {
                  "line": 64,
                  "column": 29
                },
                "end": {
                  "line": 64,
                  "column": 34
                },
                "identifierName": "toSql"
              },
              "name": "toSql"
            },
            "generator": false,
            "expression": false,
            "async": false,
            "params": [],
            "body": {
              "type": "BlockStatement",
              "start": 1838,
              "end": 1883,
              "loc": {
                "start": {
                  "line": 64,
                  "column": 48
                },
                "end": {
                  "line": 66,
                  "column": 1
                }
              },
              "body": [
                {
                  "type": "ReturnStatement",
                  "start": 1842,
                  "end": 1881,
                  "loc": {
                    "start": {
                      "line": 65,
                      "column": 2
                    },
                    "end": {
                      "line": 65,
                      "column": 41
                    }
                  },
                  "argument": {
                    "type": "StringLiteral",
                    "start": 1849,
                    "end": 1880,
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 9
                      },
                      "end": {
                        "line": 65,
                        "column": 40
                      }
                    },
                    "extra": {
                      "rawValue": "DEFERRABLE INITIALLY DEFERRED",
                      "raw": "'DEFERRABLE INITIALLY DEFERRED'"
                    },
                    "value": "DEFERRABLE INITIALLY DEFERRED"
                  }
                }
              ],
              "directives": []
            }
          }
        }
      },
      {
        "type": "FunctionDeclaration",
        "start": 1886,
        "end": 2010,
        "loc": {
          "start": {
            "line": 68,
            "column": 0
          },
          "end": {
            "line": 72,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 1895,
          "end": 1914,
          "loc": {
            "start": {
              "line": 68,
              "column": 9
            },
            "end": {
              "line": 68,
              "column": 28
            },
            "identifierName": "INITIALLY_IMMEDIATE"
          },
          "name": "INITIALLY_IMMEDIATE"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [],
        "body": {
          "type": "BlockStatement",
          "start": 1917,
          "end": 2010,
          "loc": {
            "start": {
              "line": 68,
              "column": 31
            },
            "end": {
              "line": 72,
              "column": 1
            }
          },
          "body": [
            {
              "type": "IfStatement",
              "start": 1921,
              "end": 2008,
              "loc": {
                "start": {
                  "line": 69,
                  "column": 2
                },
                "end": {
                  "line": 71,
                  "column": 3
                }
              },
              "test": {
                "type": "UnaryExpression",
                "start": 1925,
                "end": 1963,
                "loc": {
                  "start": {
                    "line": 69,
                    "column": 6
                  },
                  "end": {
                    "line": 69,
                    "column": 44
                  }
                },
                "operator": "!",
                "prefix": true,
                "argument": {
                  "type": "BinaryExpression",
                  "start": 1927,
                  "end": 1962,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 8
                    },
                    "end": {
                      "line": 69,
                      "column": 43
                    }
                  },
                  "left": {
                    "type": "ThisExpression",
                    "start": 1927,
                    "end": 1931,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 8
                      },
                      "end": {
                        "line": 69,
                        "column": 12
                      }
                    }
                  },
                  "operator": "instanceof",
                  "right": {
                    "type": "Identifier",
                    "start": 1943,
                    "end": 1962,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 24
                      },
                      "end": {
                        "line": 69,
                        "column": 43
                      },
                      "identifierName": "INITIALLY_IMMEDIATE"
                    },
                    "name": "INITIALLY_IMMEDIATE"
                  },
                  "extra": {
                    "parenthesized": true,
                    "parenStart": 1926
                  }
                },
                "extra": {
                  "parenthesizedArgument": false
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 1965,
                "end": 2008,
                "loc": {
                  "start": {
                    "line": 69,
                    "column": 46
                  },
                  "end": {
                    "line": 71,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 1971,
                    "end": 2004,
                    "loc": {
                      "start": {
                        "line": 70,
                        "column": 4
                      },
                      "end": {
                        "line": 70,
                        "column": 37
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 1978,
                      "end": 2003,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 11
                        },
                        "end": {
                          "line": 70,
                          "column": 36
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 1982,
                        "end": 2001,
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 15
                          },
                          "end": {
                            "line": 70,
                            "column": 34
                          },
                          "identifierName": "INITIALLY_IMMEDIATE"
                        },
                        "name": "INITIALLY_IMMEDIATE"
                      },
                      "arguments": []
                    }
                  }
                ],
                "directives": []
              },
              "alternate": null
            }
          ],
          "directives": []
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 2011,
        "end": 2056,
        "loc": {
          "start": {
            "line": 73,
            "column": 0
          },
          "end": {
            "line": 73,
            "column": 45
          }
        },
        "expression": {
          "type": "CallExpression",
          "start": 2011,
          "end": 2055,
          "loc": {
            "start": {
              "line": 73,
              "column": 0
            },
            "end": {
              "line": 73,
              "column": 44
            }
          },
          "callee": {
            "type": "MemberExpression",
            "start": 2011,
            "end": 2024,
            "loc": {
              "start": {
                "line": 73,
                "column": 0
              },
              "end": {
                "line": 73,
                "column": 13
              }
            },
            "object": {
              "type": "Identifier",
              "start": 2011,
              "end": 2015,
              "loc": {
                "start": {
                  "line": 73,
                  "column": 0
                },
                "end": {
                  "line": 73,
                  "column": 4
                },
                "identifierName": "util"
              },
              "name": "util"
            },
            "property": {
              "type": "Identifier",
              "start": 2016,
              "end": 2024,
              "loc": {
                "start": {
                  "line": 73,
                  "column": 5
                },
                "end": {
                  "line": 73,
                  "column": 13
                },
                "identifierName": "inherits"
              },
              "name": "inherits"
            },
            "computed": false
          },
          "arguments": [
            {
              "type": "Identifier",
              "start": 2025,
              "end": 2044,
              "loc": {
                "start": {
                  "line": 73,
                  "column": 14
                },
                "end": {
                  "line": 73,
                  "column": 33
                },
                "identifierName": "INITIALLY_IMMEDIATE"
              },
              "name": "INITIALLY_IMMEDIATE"
            },
            {
              "type": "Identifier",
              "start": 2046,
              "end": 2054,
              "loc": {
                "start": {
                  "line": 73,
                  "column": 35
                },
                "end": {
                  "line": 73,
                  "column": 43
                },
                "identifierName": "ABSTRACT"
              },
              "name": "ABSTRACT"
            }
          ]
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 2058,
        "end": 2154,
        "loc": {
          "start": {
            "line": 75,
            "column": 0
          },
          "end": {
            "line": 77,
            "column": 2
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 2058,
          "end": 2153,
          "loc": {
            "start": {
              "line": 75,
              "column": 0
            },
            "end": {
              "line": 77,
              "column": 1
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 2058,
            "end": 2093,
            "loc": {
              "start": {
                "line": 75,
                "column": 0
              },
              "end": {
                "line": 75,
                "column": 35
              }
            },
            "object": {
              "type": "MemberExpression",
              "start": 2058,
              "end": 2087,
              "loc": {
                "start": {
                  "line": 75,
                  "column": 0
                },
                "end": {
                  "line": 75,
                  "column": 29
                }
              },
              "object": {
                "type": "Identifier",
                "start": 2058,
                "end": 2077,
                "loc": {
                  "start": {
                    "line": 75,
                    "column": 0
                  },
                  "end": {
                    "line": 75,
                    "column": 19
                  },
                  "identifierName": "INITIALLY_IMMEDIATE"
                },
                "name": "INITIALLY_IMMEDIATE"
              },
              "property": {
                "type": "Identifier",
                "start": 2078,
                "end": 2087,
                "loc": {
                  "start": {
                    "line": 75,
                    "column": 20
                  },
                  "end": {
                    "line": 75,
                    "column": 29
                  },
                  "identifierName": "prototype"
                },
                "name": "prototype"
              },
              "computed": false
            },
            "property": {
              "type": "Identifier",
              "start": 2088,
              "end": 2093,
              "loc": {
                "start": {
                  "line": 75,
                  "column": 30
                },
                "end": {
                  "line": 75,
                  "column": 35
                },
                "identifierName": "toSql"
              },
              "name": "toSql"
            },
            "computed": false
          },
          "right": {
            "type": "FunctionExpression",
            "start": 2096,
            "end": 2153,
            "loc": {
              "start": {
                "line": 75,
                "column": 38
              },
              "end": {
                "line": 77,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 2088,
              "end": 2093,
              "loc": {
                "start": {
                  "line": 75,
                  "column": 30
                },
                "end": {
                  "line": 75,
                  "column": 35
                },
                "identifierName": "toSql"
              },
              "name": "toSql"
            },
            "generator": false,
            "expression": false,
            "async": false,
            "params": [],
            "body": {
              "type": "BlockStatement",
              "start": 2107,
              "end": 2153,
              "loc": {
                "start": {
                  "line": 75,
                  "column": 49
                },
                "end": {
                  "line": 77,
                  "column": 1
                }
              },
              "body": [
                {
                  "type": "ReturnStatement",
                  "start": 2111,
                  "end": 2151,
                  "loc": {
                    "start": {
                      "line": 76,
                      "column": 2
                    },
                    "end": {
                      "line": 76,
                      "column": 42
                    }
                  },
                  "argument": {
                    "type": "StringLiteral",
                    "start": 2118,
                    "end": 2150,
                    "loc": {
                      "start": {
                        "line": 76,
                        "column": 9
                      },
                      "end": {
                        "line": 76,
                        "column": 41
                      }
                    },
                    "extra": {
                      "rawValue": "DEFERRABLE INITIALLY IMMEDIATE",
                      "raw": "'DEFERRABLE INITIALLY IMMEDIATE'"
                    },
                    "value": "DEFERRABLE INITIALLY IMMEDIATE"
                  }
                }
              ],
              "directives": []
            }
          }
        }
      },
      {
        "type": "FunctionDeclaration",
        "start": 2156,
        "end": 2232,
        "loc": {
          "start": {
            "line": 79,
            "column": 0
          },
          "end": {
            "line": 83,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 2165,
          "end": 2168,
          "loc": {
            "start": {
              "line": 79,
              "column": 9
            },
            "end": {
              "line": 79,
              "column": 12
            },
            "identifierName": "NOT"
          },
          "name": "NOT"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [],
        "body": {
          "type": "BlockStatement",
          "start": 2171,
          "end": 2232,
          "loc": {
            "start": {
              "line": 79,
              "column": 15
            },
            "end": {
              "line": 83,
              "column": 1
            }
          },
          "body": [
            {
              "type": "IfStatement",
              "start": 2175,
              "end": 2230,
              "loc": {
                "start": {
                  "line": 80,
                  "column": 2
                },
                "end": {
                  "line": 82,
                  "column": 3
                }
              },
              "test": {
                "type": "UnaryExpression",
                "start": 2179,
                "end": 2201,
                "loc": {
                  "start": {
                    "line": 80,
                    "column": 6
                  },
                  "end": {
                    "line": 80,
                    "column": 28
                  }
                },
                "operator": "!",
                "prefix": true,
                "argument": {
                  "type": "BinaryExpression",
                  "start": 2181,
                  "end": 2200,
                  "loc": {
                    "start": {
                      "line": 80,
                      "column": 8
                    },
                    "end": {
                      "line": 80,
                      "column": 27
                    }
                  },
                  "left": {
                    "type": "ThisExpression",
                    "start": 2181,
                    "end": 2185,
                    "loc": {
                      "start": {
                        "line": 80,
                        "column": 8
                      },
                      "end": {
                        "line": 80,
                        "column": 12
                      }
                    }
                  },
                  "operator": "instanceof",
                  "right": {
                    "type": "Identifier",
                    "start": 2197,
                    "end": 2200,
                    "loc": {
                      "start": {
                        "line": 80,
                        "column": 24
                      },
                      "end": {
                        "line": 80,
                        "column": 27
                      },
                      "identifierName": "NOT"
                    },
                    "name": "NOT"
                  },
                  "extra": {
                    "parenthesized": true,
                    "parenStart": 2180
                  }
                },
                "extra": {
                  "parenthesizedArgument": false
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 2203,
                "end": 2230,
                "loc": {
                  "start": {
                    "line": 80,
                    "column": 30
                  },
                  "end": {
                    "line": 82,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 2209,
                    "end": 2226,
                    "loc": {
                      "start": {
                        "line": 81,
                        "column": 4
                      },
                      "end": {
                        "line": 81,
                        "column": 21
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 2216,
                      "end": 2225,
                      "loc": {
                        "start": {
                          "line": 81,
                          "column": 11
                        },
                        "end": {
                          "line": 81,
                          "column": 20
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 2220,
                        "end": 2223,
                        "loc": {
                          "start": {
                            "line": 81,
                            "column": 15
                          },
                          "end": {
                            "line": 81,
                            "column": 18
                          },
                          "identifierName": "NOT"
                        },
                        "name": "NOT"
                      },
                      "arguments": []
                    }
                  }
                ],
                "directives": []
              },
              "alternate": null
            }
          ],
          "directives": []
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 2233,
        "end": 2262,
        "loc": {
          "start": {
            "line": 84,
            "column": 0
          },
          "end": {
            "line": 84,
            "column": 29
          }
        },
        "expression": {
          "type": "CallExpression",
          "start": 2233,
          "end": 2261,
          "loc": {
            "start": {
              "line": 84,
              "column": 0
            },
            "end": {
              "line": 84,
              "column": 28
            }
          },
          "callee": {
            "type": "MemberExpression",
            "start": 2233,
            "end": 2246,
            "loc": {
              "start": {
                "line": 84,
                "column": 0
              },
              "end": {
                "line": 84,
                "column": 13
              }
            },
            "object": {
              "type": "Identifier",
              "start": 2233,
              "end": 2237,
              "loc": {
                "start": {
                  "line": 84,
                  "column": 0
                },
                "end": {
                  "line": 84,
                  "column": 4
                },
                "identifierName": "util"
              },
              "name": "util"
            },
            "property": {
              "type": "Identifier",
              "start": 2238,
              "end": 2246,
              "loc": {
                "start": {
                  "line": 84,
                  "column": 5
                },
                "end": {
                  "line": 84,
                  "column": 13
                },
                "identifierName": "inherits"
              },
              "name": "inherits"
            },
            "computed": false
          },
          "arguments": [
            {
              "type": "Identifier",
              "start": 2247,
              "end": 2250,
              "loc": {
                "start": {
                  "line": 84,
                  "column": 14
                },
                "end": {
                  "line": 84,
                  "column": 17
                },
                "identifierName": "NOT"
              },
              "name": "NOT"
            },
            {
              "type": "Identifier",
              "start": 2252,
              "end": 2260,
              "loc": {
                "start": {
                  "line": 84,
                  "column": 19
                },
                "end": {
                  "line": 84,
                  "column": 27
                },
                "identifierName": "ABSTRACT"
              },
              "name": "ABSTRACT"
            }
          ]
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 2264,
        "end": 2328,
        "loc": {
          "start": {
            "line": 86,
            "column": 0
          },
          "end": {
            "line": 88,
            "column": 2
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 2264,
          "end": 2327,
          "loc": {
            "start": {
              "line": 86,
              "column": 0
            },
            "end": {
              "line": 88,
              "column": 1
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 2264,
            "end": 2283,
            "loc": {
              "start": {
                "line": 86,
                "column": 0
              },
              "end": {
                "line": 86,
                "column": 19
              }
            },
            "object": {
              "type": "MemberExpression",
              "start": 2264,
              "end": 2277,
              "loc": {
                "start": {
                  "line": 86,
                  "column": 0
                },
                "end": {
                  "line": 86,
                  "column": 13
                }
              },
              "object": {
                "type": "Identifier",
                "start": 2264,
                "end": 2267,
                "loc": {
                  "start": {
                    "line": 86,
                    "column": 0
                  },
                  "end": {
                    "line": 86,
                    "column": 3
                  },
                  "identifierName": "NOT"
                },
                "name": "NOT"
              },
              "property": {
                "type": "Identifier",
                "start": 2268,
                "end": 2277,
                "loc": {
                  "start": {
                    "line": 86,
                    "column": 4
                  },
                  "end": {
                    "line": 86,
                    "column": 13
                  },
                  "identifierName": "prototype"
                },
                "name": "prototype"
              },
              "computed": false
            },
            "property": {
              "type": "Identifier",
              "start": 2278,
              "end": 2283,
              "loc": {
                "start": {
                  "line": 86,
                  "column": 14
                },
                "end": {
                  "line": 86,
                  "column": 19
                },
                "identifierName": "toSql"
              },
              "name": "toSql"
            },
            "computed": false
          },
          "right": {
            "type": "FunctionExpression",
            "start": 2286,
            "end": 2327,
            "loc": {
              "start": {
                "line": 86,
                "column": 22
              },
              "end": {
                "line": 88,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 2278,
              "end": 2283,
              "loc": {
                "start": {
                  "line": 86,
                  "column": 14
                },
                "end": {
                  "line": 86,
                  "column": 19
                },
                "identifierName": "toSql"
              },
              "name": "toSql"
            },
            "generator": false,
            "expression": false,
            "async": false,
            "params": [],
            "body": {
              "type": "BlockStatement",
              "start": 2297,
              "end": 2327,
              "loc": {
                "start": {
                  "line": 86,
                  "column": 33
                },
                "end": {
                  "line": 88,
                  "column": 1
                }
              },
              "body": [
                {
                  "type": "ReturnStatement",
                  "start": 2301,
                  "end": 2325,
                  "loc": {
                    "start": {
                      "line": 87,
                      "column": 2
                    },
                    "end": {
                      "line": 87,
                      "column": 26
                    }
                  },
                  "argument": {
                    "type": "StringLiteral",
                    "start": 2308,
                    "end": 2324,
                    "loc": {
                      "start": {
                        "line": 87,
                        "column": 9
                      },
                      "end": {
                        "line": 87,
                        "column": 25
                      }
                    },
                    "extra": {
                      "rawValue": "NOT DEFERRABLE",
                      "raw": "'NOT DEFERRABLE'"
                    },
                    "value": "NOT DEFERRABLE"
                  }
                }
              ],
              "directives": []
            }
          }
        }
      },
      {
        "type": "FunctionDeclaration",
        "start": 2330,
        "end": 2490,
        "loc": {
          "start": {
            "line": 90,
            "column": 0
          },
          "end": {
            "line": 96,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 2339,
          "end": 2351,
          "loc": {
            "start": {
              "line": 90,
              "column": 9
            },
            "end": {
              "line": 90,
              "column": 21
            },
            "identifierName": "SET_DEFERRED"
          },
          "name": "SET_DEFERRED"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 2352,
            "end": 2363,
            "loc": {
              "start": {
                "line": 90,
                "column": 22
              },
              "end": {
                "line": 90,
                "column": 33
              },
              "identifierName": "constraints"
            },
            "name": "constraints"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 2365,
          "end": 2490,
          "loc": {
            "start": {
              "line": 90,
              "column": 35
            },
            "end": {
              "line": 96,
              "column": 1
            }
          },
          "body": [
            {
              "type": "IfStatement",
              "start": 2369,
              "end": 2453,
              "loc": {
                "start": {
                  "line": 91,
                  "column": 2
                },
                "end": {
                  "line": 93,
                  "column": 3
                }
              },
              "test": {
                "type": "UnaryExpression",
                "start": 2373,
                "end": 2404,
                "loc": {
                  "start": {
                    "line": 91,
                    "column": 6
                  },
                  "end": {
                    "line": 91,
                    "column": 37
                  }
                },
                "operator": "!",
                "prefix": true,
                "argument": {
                  "type": "BinaryExpression",
                  "start": 2375,
                  "end": 2403,
                  "loc": {
                    "start": {
                      "line": 91,
                      "column": 8
                    },
                    "end": {
                      "line": 91,
                      "column": 36
                    }
                  },
                  "left": {
                    "type": "ThisExpression",
                    "start": 2375,
                    "end": 2379,
                    "loc": {
                      "start": {
                        "line": 91,
                        "column": 8
                      },
                      "end": {
                        "line": 91,
                        "column": 12
                      }
                    }
                  },
                  "operator": "instanceof",
                  "right": {
                    "type": "Identifier",
                    "start": 2391,
                    "end": 2403,
                    "loc": {
                      "start": {
                        "line": 91,
                        "column": 24
                      },
                      "end": {
                        "line": 91,
                        "column": 36
                      },
                      "identifierName": "SET_DEFERRED"
                    },
                    "name": "SET_DEFERRED"
                  },
                  "extra": {
                    "parenthesized": true,
                    "parenStart": 2374
                  }
                },
                "extra": {
                  "parenthesizedArgument": false
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 2406,
                "end": 2453,
                "loc": {
                  "start": {
                    "line": 91,
                    "column": 39
                  },
                  "end": {
                    "line": 93,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 2412,
                    "end": 2449,
                    "loc": {
                      "start": {
                        "line": 92,
                        "column": 4
                      },
                      "end": {
                        "line": 92,
                        "column": 41
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 2419,
                      "end": 2448,
                      "loc": {
                        "start": {
                          "line": 92,
                          "column": 11
                        },
                        "end": {
                          "line": 92,
                          "column": 40
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 2423,
                        "end": 2435,
                        "loc": {
                          "start": {
                            "line": 92,
                            "column": 15
                          },
                          "end": {
                            "line": 92,
                            "column": 27
                          },
                          "identifierName": "SET_DEFERRED"
                        },
                        "name": "SET_DEFERRED"
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 2436,
                          "end": 2447,
                          "loc": {
                            "start": {
                              "line": 92,
                              "column": 28
                            },
                            "end": {
                              "line": 92,
                              "column": 39
                            },
                            "identifierName": "constraints"
                          },
                          "name": "constraints"
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              },
              "alternate": null
            },
            {
              "type": "ExpressionStatement",
              "start": 2457,
              "end": 2488,
              "loc": {
                "start": {
                  "line": 95,
                  "column": 2
                },
                "end": {
                  "line": 95,
                  "column": 33
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 2457,
                "end": 2487,
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 2
                  },
                  "end": {
                    "line": 95,
                    "column": 32
                  }
                },
                "operator": "=",
                "left": {
                  "type": "MemberExpression",
                  "start": 2457,
                  "end": 2473,
                  "loc": {
                    "start": {
                      "line": 95,
                      "column": 2
                    },
                    "end": {
                      "line": 95,
                      "column": 18
                    }
                  },
                  "object": {
                    "type": "ThisExpression",
                    "start": 2457,
                    "end": 2461,
                    "loc": {
                      "start": {
                        "line": 95,
                        "column": 2
                      },
                      "end": {
                        "line": 95,
                        "column": 6
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 2462,
                    "end": 2473,
                    "loc": {
                      "start": {
                        "line": 95,
                        "column": 7
                      },
                      "end": {
                        "line": 95,
                        "column": 18
                      },
                      "identifierName": "constraints"
                    },
                    "name": "constraints"
                  },
                  "computed": false
                },
                "right": {
                  "type": "Identifier",
                  "start": 2476,
                  "end": 2487,
                  "loc": {
                    "start": {
                      "line": 95,
                      "column": 21
                    },
                    "end": {
                      "line": 95,
                      "column": 32
                    },
                    "identifierName": "constraints"
                  },
                  "name": "constraints"
                }
              }
            }
          ],
          "directives": []
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 2491,
        "end": 2529,
        "loc": {
          "start": {
            "line": 97,
            "column": 0
          },
          "end": {
            "line": 97,
            "column": 38
          }
        },
        "expression": {
          "type": "CallExpression",
          "start": 2491,
          "end": 2528,
          "loc": {
            "start": {
              "line": 97,
              "column": 0
            },
            "end": {
              "line": 97,
              "column": 37
            }
          },
          "callee": {
            "type": "MemberExpression",
            "start": 2491,
            "end": 2504,
            "loc": {
              "start": {
                "line": 97,
                "column": 0
              },
              "end": {
                "line": 97,
                "column": 13
              }
            },
            "object": {
              "type": "Identifier",
              "start": 2491,
              "end": 2495,
              "loc": {
                "start": {
                  "line": 97,
                  "column": 0
                },
                "end": {
                  "line": 97,
                  "column": 4
                },
                "identifierName": "util"
              },
              "name": "util"
            },
            "property": {
              "type": "Identifier",
              "start": 2496,
              "end": 2504,
              "loc": {
                "start": {
                  "line": 97,
                  "column": 5
                },
                "end": {
                  "line": 97,
                  "column": 13
                },
                "identifierName": "inherits"
              },
              "name": "inherits"
            },
            "computed": false
          },
          "arguments": [
            {
              "type": "Identifier",
              "start": 2505,
              "end": 2517,
              "loc": {
                "start": {
                  "line": 97,
                  "column": 14
                },
                "end": {
                  "line": 97,
                  "column": 26
                },
                "identifierName": "SET_DEFERRED"
              },
              "name": "SET_DEFERRED"
            },
            {
              "type": "Identifier",
              "start": 2519,
              "end": 2527,
              "loc": {
                "start": {
                  "line": 97,
                  "column": 28
                },
                "end": {
                  "line": 97,
                  "column": 36
                },
                "identifierName": "ABSTRACT"
              },
              "name": "ABSTRACT"
            }
          ]
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 2531,
        "end": 2651,
        "loc": {
          "start": {
            "line": 99,
            "column": 0
          },
          "end": {
            "line": 101,
            "column": 2
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 2531,
          "end": 2650,
          "loc": {
            "start": {
              "line": 99,
              "column": 0
            },
            "end": {
              "line": 101,
              "column": 1
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 2531,
            "end": 2559,
            "loc": {
              "start": {
                "line": 99,
                "column": 0
              },
              "end": {
                "line": 99,
                "column": 28
              }
            },
            "object": {
              "type": "MemberExpression",
              "start": 2531,
              "end": 2553,
              "loc": {
                "start": {
                  "line": 99,
                  "column": 0
                },
                "end": {
                  "line": 99,
                  "column": 22
                }
              },
              "object": {
                "type": "Identifier",
                "start": 2531,
                "end": 2543,
                "loc": {
                  "start": {
                    "line": 99,
                    "column": 0
                  },
                  "end": {
                    "line": 99,
                    "column": 12
                  },
                  "identifierName": "SET_DEFERRED"
                },
                "name": "SET_DEFERRED"
              },
              "property": {
                "type": "Identifier",
                "start": 2544,
                "end": 2553,
                "loc": {
                  "start": {
                    "line": 99,
                    "column": 13
                  },
                  "end": {
                    "line": 99,
                    "column": 22
                  },
                  "identifierName": "prototype"
                },
                "name": "prototype"
              },
              "computed": false
            },
            "property": {
              "type": "Identifier",
              "start": 2554,
              "end": 2559,
              "loc": {
                "start": {
                  "line": 99,
                  "column": 23
                },
                "end": {
                  "line": 99,
                  "column": 28
                },
                "identifierName": "toSql"
              },
              "name": "toSql"
            },
            "computed": false
          },
          "right": {
            "type": "FunctionExpression",
            "start": 2562,
            "end": 2650,
            "loc": {
              "start": {
                "line": 99,
                "column": 31
              },
              "end": {
                "line": 101,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 2554,
              "end": 2559,
              "loc": {
                "start": {
                  "line": 99,
                  "column": 23
                },
                "end": {
                  "line": 99,
                  "column": 28
                },
                "identifierName": "toSql"
              },
              "name": "toSql"
            },
            "generator": false,
            "expression": false,
            "async": false,
            "params": [
              {
                "type": "Identifier",
                "start": 2571,
                "end": 2585,
                "loc": {
                  "start": {
                    "line": 99,
                    "column": 40
                  },
                  "end": {
                    "line": 99,
                    "column": 54
                  },
                  "identifierName": "queryGenerator"
                },
                "name": "queryGenerator"
              }
            ],
            "body": {
              "type": "BlockStatement",
              "start": 2587,
              "end": 2650,
              "loc": {
                "start": {
                  "line": 99,
                  "column": 56
                },
                "end": {
                  "line": 101,
                  "column": 1
                }
              },
              "body": [
                {
                  "type": "ReturnStatement",
                  "start": 2591,
                  "end": 2648,
                  "loc": {
                    "start": {
                      "line": 100,
                      "column": 2
                    },
                    "end": {
                      "line": 100,
                      "column": 59
                    }
                  },
                  "argument": {
                    "type": "CallExpression",
                    "start": 2598,
                    "end": 2647,
                    "loc": {
                      "start": {
                        "line": 100,
                        "column": 9
                      },
                      "end": {
                        "line": 100,
                        "column": 58
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2598,
                      "end": 2629,
                      "loc": {
                        "start": {
                          "line": 100,
                          "column": 9
                        },
                        "end": {
                          "line": 100,
                          "column": 40
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2598,
                        "end": 2612,
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 9
                          },
                          "end": {
                            "line": 100,
                            "column": 23
                          },
                          "identifierName": "queryGenerator"
                        },
                        "name": "queryGenerator"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2613,
                        "end": 2629,
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 24
                          },
                          "end": {
                            "line": 100,
                            "column": 40
                          },
                          "identifierName": "setDeferredQuery"
                        },
                        "name": "setDeferredQuery"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "MemberExpression",
                        "start": 2630,
                        "end": 2646,
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 41
                          },
                          "end": {
                            "line": 100,
                            "column": 57
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 2630,
                          "end": 2634,
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 41
                            },
                            "end": {
                              "line": 100,
                              "column": 45
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2635,
                          "end": 2646,
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 46
                            },
                            "end": {
                              "line": 100,
                              "column": 57
                            },
                            "identifierName": "constraints"
                          },
                          "name": "constraints"
                        },
                        "computed": false
                      }
                    ]
                  }
                }
              ],
              "directives": []
            }
          }
        }
      },
      {
        "type": "FunctionDeclaration",
        "start": 2653,
        "end": 2816,
        "loc": {
          "start": {
            "line": 103,
            "column": 0
          },
          "end": {
            "line": 109,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 2662,
          "end": 2675,
          "loc": {
            "start": {
              "line": 103,
              "column": 9
            },
            "end": {
              "line": 103,
              "column": 22
            },
            "identifierName": "SET_IMMEDIATE"
          },
          "name": "SET_IMMEDIATE"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 2676,
            "end": 2687,
            "loc": {
              "start": {
                "line": 103,
                "column": 23
              },
              "end": {
                "line": 103,
                "column": 34
              },
              "identifierName": "constraints"
            },
            "name": "constraints"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 2689,
          "end": 2816,
          "loc": {
            "start": {
              "line": 103,
              "column": 36
            },
            "end": {
              "line": 109,
              "column": 1
            }
          },
          "body": [
            {
              "type": "IfStatement",
              "start": 2693,
              "end": 2779,
              "loc": {
                "start": {
                  "line": 104,
                  "column": 2
                },
                "end": {
                  "line": 106,
                  "column": 3
                }
              },
              "test": {
                "type": "UnaryExpression",
                "start": 2697,
                "end": 2729,
                "loc": {
                  "start": {
                    "line": 104,
                    "column": 6
                  },
                  "end": {
                    "line": 104,
                    "column": 38
                  }
                },
                "operator": "!",
                "prefix": true,
                "argument": {
                  "type": "BinaryExpression",
                  "start": 2699,
                  "end": 2728,
                  "loc": {
                    "start": {
                      "line": 104,
                      "column": 8
                    },
                    "end": {
                      "line": 104,
                      "column": 37
                    }
                  },
                  "left": {
                    "type": "ThisExpression",
                    "start": 2699,
                    "end": 2703,
                    "loc": {
                      "start": {
                        "line": 104,
                        "column": 8
                      },
                      "end": {
                        "line": 104,
                        "column": 12
                      }
                    }
                  },
                  "operator": "instanceof",
                  "right": {
                    "type": "Identifier",
                    "start": 2715,
                    "end": 2728,
                    "loc": {
                      "start": {
                        "line": 104,
                        "column": 24
                      },
                      "end": {
                        "line": 104,
                        "column": 37
                      },
                      "identifierName": "SET_IMMEDIATE"
                    },
                    "name": "SET_IMMEDIATE"
                  },
                  "extra": {
                    "parenthesized": true,
                    "parenStart": 2698
                  }
                },
                "extra": {
                  "parenthesizedArgument": false
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 2731,
                "end": 2779,
                "loc": {
                  "start": {
                    "line": 104,
                    "column": 40
                  },
                  "end": {
                    "line": 106,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 2737,
                    "end": 2775,
                    "loc": {
                      "start": {
                        "line": 105,
                        "column": 4
                      },
                      "end": {
                        "line": 105,
                        "column": 42
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 2744,
                      "end": 2774,
                      "loc": {
                        "start": {
                          "line": 105,
                          "column": 11
                        },
                        "end": {
                          "line": 105,
                          "column": 41
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 2748,
                        "end": 2761,
                        "loc": {
                          "start": {
                            "line": 105,
                            "column": 15
                          },
                          "end": {
                            "line": 105,
                            "column": 28
                          },
                          "identifierName": "SET_IMMEDIATE"
                        },
                        "name": "SET_IMMEDIATE"
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 2762,
                          "end": 2773,
                          "loc": {
                            "start": {
                              "line": 105,
                              "column": 29
                            },
                            "end": {
                              "line": 105,
                              "column": 40
                            },
                            "identifierName": "constraints"
                          },
                          "name": "constraints"
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              },
              "alternate": null
            },
            {
              "type": "ExpressionStatement",
              "start": 2783,
              "end": 2814,
              "loc": {
                "start": {
                  "line": 108,
                  "column": 2
                },
                "end": {
                  "line": 108,
                  "column": 33
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 2783,
                "end": 2813,
                "loc": {
                  "start": {
                    "line": 108,
                    "column": 2
                  },
                  "end": {
                    "line": 108,
                    "column": 32
                  }
                },
                "operator": "=",
                "left": {
                  "type": "MemberExpression",
                  "start": 2783,
                  "end": 2799,
                  "loc": {
                    "start": {
                      "line": 108,
                      "column": 2
                    },
                    "end": {
                      "line": 108,
                      "column": 18
                    }
                  },
                  "object": {
                    "type": "ThisExpression",
                    "start": 2783,
                    "end": 2787,
                    "loc": {
                      "start": {
                        "line": 108,
                        "column": 2
                      },
                      "end": {
                        "line": 108,
                        "column": 6
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 2788,
                    "end": 2799,
                    "loc": {
                      "start": {
                        "line": 108,
                        "column": 7
                      },
                      "end": {
                        "line": 108,
                        "column": 18
                      },
                      "identifierName": "constraints"
                    },
                    "name": "constraints"
                  },
                  "computed": false
                },
                "right": {
                  "type": "Identifier",
                  "start": 2802,
                  "end": 2813,
                  "loc": {
                    "start": {
                      "line": 108,
                      "column": 21
                    },
                    "end": {
                      "line": 108,
                      "column": 32
                    },
                    "identifierName": "constraints"
                  },
                  "name": "constraints"
                }
              }
            }
          ],
          "directives": []
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 2817,
        "end": 2856,
        "loc": {
          "start": {
            "line": 110,
            "column": 0
          },
          "end": {
            "line": 110,
            "column": 39
          }
        },
        "expression": {
          "type": "CallExpression",
          "start": 2817,
          "end": 2855,
          "loc": {
            "start": {
              "line": 110,
              "column": 0
            },
            "end": {
              "line": 110,
              "column": 38
            }
          },
          "callee": {
            "type": "MemberExpression",
            "start": 2817,
            "end": 2830,
            "loc": {
              "start": {
                "line": 110,
                "column": 0
              },
              "end": {
                "line": 110,
                "column": 13
              }
            },
            "object": {
              "type": "Identifier",
              "start": 2817,
              "end": 2821,
              "loc": {
                "start": {
                  "line": 110,
                  "column": 0
                },
                "end": {
                  "line": 110,
                  "column": 4
                },
                "identifierName": "util"
              },
              "name": "util"
            },
            "property": {
              "type": "Identifier",
              "start": 2822,
              "end": 2830,
              "loc": {
                "start": {
                  "line": 110,
                  "column": 5
                },
                "end": {
                  "line": 110,
                  "column": 13
                },
                "identifierName": "inherits"
              },
              "name": "inherits"
            },
            "computed": false
          },
          "arguments": [
            {
              "type": "Identifier",
              "start": 2831,
              "end": 2844,
              "loc": {
                "start": {
                  "line": 110,
                  "column": 14
                },
                "end": {
                  "line": 110,
                  "column": 27
                },
                "identifierName": "SET_IMMEDIATE"
              },
              "name": "SET_IMMEDIATE"
            },
            {
              "type": "Identifier",
              "start": 2846,
              "end": 2854,
              "loc": {
                "start": {
                  "line": 110,
                  "column": 29
                },
                "end": {
                  "line": 110,
                  "column": 37
                },
                "identifierName": "ABSTRACT"
              },
              "name": "ABSTRACT"
            }
          ]
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 2858,
        "end": 2980,
        "loc": {
          "start": {
            "line": 112,
            "column": 0
          },
          "end": {
            "line": 114,
            "column": 2
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 2858,
          "end": 2979,
          "loc": {
            "start": {
              "line": 112,
              "column": 0
            },
            "end": {
              "line": 114,
              "column": 1
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 2858,
            "end": 2887,
            "loc": {
              "start": {
                "line": 112,
                "column": 0
              },
              "end": {
                "line": 112,
                "column": 29
              }
            },
            "object": {
              "type": "MemberExpression",
              "start": 2858,
              "end": 2881,
              "loc": {
                "start": {
                  "line": 112,
                  "column": 0
                },
                "end": {
                  "line": 112,
                  "column": 23
                }
              },
              "object": {
                "type": "Identifier",
                "start": 2858,
                "end": 2871,
                "loc": {
                  "start": {
                    "line": 112,
                    "column": 0
                  },
                  "end": {
                    "line": 112,
                    "column": 13
                  },
                  "identifierName": "SET_IMMEDIATE"
                },
                "name": "SET_IMMEDIATE"
              },
              "property": {
                "type": "Identifier",
                "start": 2872,
                "end": 2881,
                "loc": {
                  "start": {
                    "line": 112,
                    "column": 14
                  },
                  "end": {
                    "line": 112,
                    "column": 23
                  },
                  "identifierName": "prototype"
                },
                "name": "prototype"
              },
              "computed": false
            },
            "property": {
              "type": "Identifier",
              "start": 2882,
              "end": 2887,
              "loc": {
                "start": {
                  "line": 112,
                  "column": 24
                },
                "end": {
                  "line": 112,
                  "column": 29
                },
                "identifierName": "toSql"
              },
              "name": "toSql"
            },
            "computed": false
          },
          "right": {
            "type": "FunctionExpression",
            "start": 2890,
            "end": 2979,
            "loc": {
              "start": {
                "line": 112,
                "column": 32
              },
              "end": {
                "line": 114,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 2882,
              "end": 2887,
              "loc": {
                "start": {
                  "line": 112,
                  "column": 24
                },
                "end": {
                  "line": 112,
                  "column": 29
                },
                "identifierName": "toSql"
              },
              "name": "toSql"
            },
            "generator": false,
            "expression": false,
            "async": false,
            "params": [
              {
                "type": "Identifier",
                "start": 2899,
                "end": 2913,
                "loc": {
                  "start": {
                    "line": 112,
                    "column": 41
                  },
                  "end": {
                    "line": 112,
                    "column": 55
                  },
                  "identifierName": "queryGenerator"
                },
                "name": "queryGenerator"
              }
            ],
            "body": {
              "type": "BlockStatement",
              "start": 2915,
              "end": 2979,
              "loc": {
                "start": {
                  "line": 112,
                  "column": 57
                },
                "end": {
                  "line": 114,
                  "column": 1
                }
              },
              "body": [
                {
                  "type": "ReturnStatement",
                  "start": 2919,
                  "end": 2977,
                  "loc": {
                    "start": {
                      "line": 113,
                      "column": 2
                    },
                    "end": {
                      "line": 113,
                      "column": 60
                    }
                  },
                  "argument": {
                    "type": "CallExpression",
                    "start": 2926,
                    "end": 2976,
                    "loc": {
                      "start": {
                        "line": 113,
                        "column": 9
                      },
                      "end": {
                        "line": 113,
                        "column": 59
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2926,
                      "end": 2958,
                      "loc": {
                        "start": {
                          "line": 113,
                          "column": 9
                        },
                        "end": {
                          "line": 113,
                          "column": 41
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2926,
                        "end": 2940,
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 9
                          },
                          "end": {
                            "line": 113,
                            "column": 23
                          },
                          "identifierName": "queryGenerator"
                        },
                        "name": "queryGenerator"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2941,
                        "end": 2958,
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 24
                          },
                          "end": {
                            "line": 113,
                            "column": 41
                          },
                          "identifierName": "setImmediateQuery"
                        },
                        "name": "setImmediateQuery"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "MemberExpression",
                        "start": 2959,
                        "end": 2975,
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 42
                          },
                          "end": {
                            "line": 113,
                            "column": 58
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 2959,
                          "end": 2963,
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 42
                            },
                            "end": {
                              "line": 113,
                              "column": 46
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2964,
                          "end": 2975,
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 47
                            },
                            "end": {
                              "line": 113,
                              "column": 58
                            },
                            "identifierName": "constraints"
                          },
                          "name": "constraints"
                        },
                        "computed": false
                      }
                    ]
                  }
                }
              ],
              "directives": []
            }
          }
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 2982,
        "end": 3218,
        "loc": {
          "start": {
            "line": 116,
            "column": 0
          },
          "end": {
            "line": 123,
            "column": 3
          }
        },
        "expression": {
          "type": "CallExpression",
          "start": 2982,
          "end": 3217,
          "loc": {
            "start": {
              "line": 116,
              "column": 0
            },
            "end": {
              "line": 123,
              "column": 2
            }
          },
          "callee": {
            "type": "MemberExpression",
            "start": 2982,
            "end": 3013,
            "loc": {
              "start": {
                "line": 116,
                "column": 0
              },
              "end": {
                "line": 116,
                "column": 31
              }
            },
            "object": {
              "type": "CallExpression",
              "start": 2982,
              "end": 3005,
              "loc": {
                "start": {
                  "line": 116,
                  "column": 0
                },
                "end": {
                  "line": 116,
                  "column": 23
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 2982,
                "end": 2993,
                "loc": {
                  "start": {
                    "line": 116,
                    "column": 0
                  },
                  "end": {
                    "line": 116,
                    "column": 11
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 2982,
                  "end": 2988,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 0
                    },
                    "end": {
                      "line": 116,
                      "column": 6
                    },
                    "identifierName": "Object"
                  },
                  "name": "Object"
                },
                "property": {
                  "type": "Identifier",
                  "start": 2989,
                  "end": 2993,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 7
                    },
                    "end": {
                      "line": 116,
                      "column": 11
                    },
                    "identifierName": "keys"
                  },
                  "name": "keys"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "start": 2994,
                  "end": 3004,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 12
                    },
                    "end": {
                      "line": 116,
                      "column": 22
                    },
                    "identifierName": "Deferrable"
                  },
                  "name": "Deferrable"
                }
              ]
            },
            "property": {
              "type": "Identifier",
              "start": 3006,
              "end": 3013,
              "loc": {
                "start": {
                  "line": 116,
                  "column": 24
                },
                "end": {
                  "line": 116,
                  "column": 31
                },
                "identifierName": "forEach"
              },
              "name": "forEach"
            },
            "computed": false
          },
          "arguments": [
            {
              "type": "FunctionExpression",
              "start": 3014,
              "end": 3216,
              "loc": {
                "start": {
                  "line": 116,
                  "column": 32
                },
                "end": {
                  "line": 123,
                  "column": 1
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3023,
                  "end": 3026,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 41
                    },
                    "end": {
                      "line": 116,
                      "column": 44
                    },
                    "identifierName": "key"
                  },
                  "name": "key"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 3028,
                "end": 3216,
                "loc": {
                  "start": {
                    "line": 116,
                    "column": 46
                  },
                  "end": {
                    "line": 123,
                    "column": 1
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 3032,
                    "end": 3069,
                    "loc": {
                      "start": {
                        "line": 117,
                        "column": 2
                      },
                      "end": {
                        "line": 117,
                        "column": 39
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 3036,
                        "end": 3068,
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 6
                          },
                          "end": {
                            "line": 117,
                            "column": 38
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 3036,
                          "end": 3050,
                          "loc": {
                            "start": {
                              "line": 117,
                              "column": 6
                            },
                            "end": {
                              "line": 117,
                              "column": 20
                            },
                            "identifierName": "DeferrableType"
                          },
                          "name": "DeferrableType"
                        },
                        "init": {
                          "type": "MemberExpression",
                          "start": 3053,
                          "end": 3068,
                          "loc": {
                            "start": {
                              "line": 117,
                              "column": 23
                            },
                            "end": {
                              "line": 117,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3053,
                            "end": 3063,
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 23
                              },
                              "end": {
                                "line": 117,
                                "column": 33
                              },
                              "identifierName": "Deferrable"
                            },
                            "name": "Deferrable"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3064,
                            "end": 3067,
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 34
                              },
                              "end": {
                                "line": 117,
                                "column": 37
                              },
                              "identifierName": "key"
                            },
                            "name": "key"
                          },
                          "computed": true
                        }
                      }
                    ],
                    "kind": "var"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 3073,
                    "end": 3214,
                    "loc": {
                      "start": {
                        "line": 119,
                        "column": 2
                      },
                      "end": {
                        "line": 122,
                        "column": 4
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 3073,
                      "end": 3213,
                      "loc": {
                        "start": {
                          "line": 119,
                          "column": 2
                        },
                        "end": {
                          "line": 122,
                          "column": 3
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 3073,
                        "end": 3096,
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 2
                          },
                          "end": {
                            "line": 119,
                            "column": 25
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 3073,
                          "end": 3087,
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 2
                            },
                            "end": {
                              "line": 119,
                              "column": 16
                            },
                            "identifierName": "DeferrableType"
                          },
                          "name": "DeferrableType"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3088,
                          "end": 3096,
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 17
                            },
                            "end": {
                              "line": 119,
                              "column": 25
                            },
                            "identifierName": "toString"
                          },
                          "name": "toString"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "start": 3099,
                        "end": 3213,
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 28
                          },
                          "end": {
                            "line": 122,
                            "column": 3
                          }
                        },
                        "id": null,
                        "generator": false,
                        "expression": false,
                        "async": false,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "start": 3110,
                          "end": 3213,
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 39
                            },
                            "end": {
                              "line": 122,
                              "column": 3
                            }
                          },
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "start": 3116,
                              "end": 3152,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 4
                                },
                                "end": {
                                  "line": 120,
                                  "column": 40
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 3120,
                                  "end": 3151,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 39
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 3120,
                                    "end": 3128,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 16
                                      },
                                      "identifierName": "instance"
                                    },
                                    "name": "instance"
                                  },
                                  "init": {
                                    "type": "NewExpression",
                                    "start": 3131,
                                    "end": 3151,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 39
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 3135,
                                      "end": 3149,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 37
                                        },
                                        "identifierName": "DeferrableType"
                                      },
                                      "name": "DeferrableType"
                                    },
                                    "arguments": []
                                  }
                                }
                              ],
                              "kind": "var"
                            },
                            {
                              "type": "ReturnStatement",
                              "start": 3157,
                              "end": 3209,
                              "loc": {
                                "start": {
                                  "line": 121,
                                  "column": 4
                                },
                                "end": {
                                  "line": 121,
                                  "column": 56
                                }
                              },
                              "argument": {
                                "type": "CallExpression",
                                "start": 3164,
                                "end": 3208,
                                "loc": {
                                  "start": {
                                    "line": 121,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 121,
                                    "column": 55
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3164,
                                  "end": 3187,
                                  "loc": {
                                    "start": {
                                      "line": 121,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 121,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 3164,
                                    "end": 3181,
                                    "loc": {
                                      "start": {
                                        "line": 121,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 121,
                                        "column": 28
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3164,
                                      "end": 3172,
                                      "loc": {
                                        "start": {
                                          "line": 121,
                                          "column": 11
                                        },
                                        "end": {
                                          "line": 121,
                                          "column": 19
                                        },
                                        "identifierName": "instance"
                                      },
                                      "name": "instance"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3173,
                                      "end": 3181,
                                      "loc": {
                                        "start": {
                                          "line": 121,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 121,
                                          "column": 28
                                        },
                                        "identifierName": "toString"
                                      },
                                      "name": "toString"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3182,
                                    "end": 3187,
                                    "loc": {
                                      "start": {
                                        "line": 121,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 121,
                                        "column": 34
                                      },
                                      "identifierName": "apply"
                                    },
                                    "name": "apply"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 3188,
                                    "end": 3196,
                                    "loc": {
                                      "start": {
                                        "line": 121,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 121,
                                        "column": 43
                                      },
                                      "identifierName": "instance"
                                    },
                                    "name": "instance"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 3198,
                                    "end": 3207,
                                    "loc": {
                                      "start": {
                                        "line": 121,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 121,
                                        "column": 54
                                      },
                                      "identifierName": "arguments"
                                    },
                                    "name": "arguments"
                                  }
                                ]
                              }
                            }
                          ],
                          "directives": []
                        }
                      }
                    }
                  }
                ],
                "directives": []
              }
            }
          ]
        }
      }
    ],
    "directives": [
      {
        "type": "Directive",
        "start": 0,
        "end": 13,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 13
          }
        },
        "value": {
          "type": "DirectiveLiteral",
          "start": 0,
          "end": 12,
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 1,
              "column": 12
            }
          },
          "value": "use strict",
          "extra": {
            "raw": "'use strict'",
            "rawValue": "use strict"
          }
        }
      }
    ]
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\n * A collection of properties related to deferrable constraints. It can be used to\n * make foreign key constraints deferrable and to set the constraints within a\n * transaction. This is only supported in PostgreSQL.\n *\n * The foreign keys can be configured like this. It will create a foreign key\n * that will check the constraints immediately when the data was inserted.\n *\n * ```js\n * sequelize.define('Model', {\n *   foreign_id: {\n *     type: Sequelize.INTEGER,\n *     references: {\n *       model: OtherModel,\n *       key: 'id',\n *       deferrable: Sequelize.Deferrable.INITIALLY_IMMEDIATE\n *     }\n *   }\n * });\n * ```\n *\n * The constraints can be configured in a transaction like this. It will\n * trigger a query once the transaction has been started and set the constraints\n * to be checked at the very end of the transaction.\n *\n * ```js\n * sequelize.transaction({\n *   deferrable: Sequelize.Deferrable.SET_DEFERRED\n * });\n * ```\n *\n * @property INITIALLY_DEFERRED Defer constraints checks to the end of transactions.\n * @property INITIALLY_IMMEDIATE Trigger the constraint checks immediately\n * @property NOT Set the constraints to not deferred. This is the default in PostgreSQL and it make it impossible to dynamically defer the constraints within a transaction.\n * @property SET_DEFERRED\n * @property SET_IMMEDIATE\n ",
      "start": 45,
      "end": 1382,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 42,
          "column": 3
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "use strict",
      "start": 0,
      "end": 12,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12,
      "end": 13,
      "loc": {
        "start": {
          "line": 1,
          "column": 12
        },
        "end": {
          "line": 1,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 15,
      "end": 18,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "util",
      "start": 19,
      "end": 23,
      "loc": {
        "start": {
          "line": 3,
          "column": 4
        },
        "end": {
          "line": 3,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 24,
      "end": 25,
      "loc": {
        "start": {
          "line": 3,
          "column": 9
        },
        "end": {
          "line": 3,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "require",
      "start": 26,
      "end": 33,
      "loc": {
        "start": {
          "line": 3,
          "column": 11
        },
        "end": {
          "line": 3,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 33,
      "end": 34,
      "loc": {
        "start": {
          "line": 3,
          "column": 18
        },
        "end": {
          "line": 3,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "util",
      "start": 34,
      "end": 40,
      "loc": {
        "start": {
          "line": 3,
          "column": 19
        },
        "end": {
          "line": 3,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 40,
      "end": 41,
      "loc": {
        "start": {
          "line": 3,
          "column": 25
        },
        "end": {
          "line": 3,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 41,
      "end": 42,
      "loc": {
        "start": {
          "line": 3,
          "column": 26
        },
        "end": {
          "line": 3,
          "column": 27
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * A collection of properties related to deferrable constraints. It can be used to\n * make foreign key constraints deferrable and to set the constraints within a\n * transaction. This is only supported in PostgreSQL.\n *\n * The foreign keys can be configured like this. It will create a foreign key\n * that will check the constraints immediately when the data was inserted.\n *\n * ```js\n * sequelize.define('Model', {\n *   foreign_id: {\n *     type: Sequelize.INTEGER,\n *     references: {\n *       model: OtherModel,\n *       key: 'id',\n *       deferrable: Sequelize.Deferrable.INITIALLY_IMMEDIATE\n *     }\n *   }\n * });\n * ```\n *\n * The constraints can be configured in a transaction like this. It will\n * trigger a query once the transaction has been started and set the constraints\n * to be checked at the very end of the transaction.\n *\n * ```js\n * sequelize.transaction({\n *   deferrable: Sequelize.Deferrable.SET_DEFERRED\n * });\n * ```\n *\n * @property INITIALLY_DEFERRED Defer constraints checks to the end of transactions.\n * @property INITIALLY_IMMEDIATE Trigger the constraint checks immediately\n * @property NOT Set the constraints to not deferred. This is the default in PostgreSQL and it make it impossible to dynamically defer the constraints within a transaction.\n * @property SET_DEFERRED\n * @property SET_IMMEDIATE\n ",
      "start": 45,
      "end": 1382,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 42,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 1383,
      "end": 1386,
      "loc": {
        "start": {
          "line": 43,
          "column": 0
        },
        "end": {
          "line": 43,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Deferrable",
      "start": 1387,
      "end": 1397,
      "loc": {
        "start": {
          "line": 43,
          "column": 4
        },
        "end": {
          "line": 43,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1398,
      "end": 1399,
      "loc": {
        "start": {
          "line": 43,
          "column": 15
        },
        "end": {
          "line": 43,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "module",
      "start": 1400,
      "end": 1406,
      "loc": {
        "start": {
          "line": 43,
          "column": 17
        },
        "end": {
          "line": 43,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1406,
      "end": 1407,
      "loc": {
        "start": {
          "line": 43,
          "column": 23
        },
        "end": {
          "line": 43,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 1407,
      "end": 1414,
      "loc": {
        "start": {
          "line": 43,
          "column": 24
        },
        "end": {
          "line": 43,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1415,
      "end": 1416,
      "loc": {
        "start": {
          "line": 43,
          "column": 32
        },
        "end": {
          "line": 43,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1417,
      "end": 1418,
      "loc": {
        "start": {
          "line": 43,
          "column": 34
        },
        "end": {
          "line": 43,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "INITIALLY_DEFERRED",
      "start": 1421,
      "end": 1439,
      "loc": {
        "start": {
          "line": 44,
          "column": 2
        },
        "end": {
          "line": 44,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1439,
      "end": 1440,
      "loc": {
        "start": {
          "line": 44,
          "column": 20
        },
        "end": {
          "line": 44,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "INITIALLY_IMMEDIATE",
      "start": 1443,
      "end": 1462,
      "loc": {
        "start": {
          "line": 45,
          "column": 2
        },
        "end": {
          "line": 45,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1462,
      "end": 1463,
      "loc": {
        "start": {
          "line": 45,
          "column": 21
        },
        "end": {
          "line": 45,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "NOT",
      "start": 1466,
      "end": 1469,
      "loc": {
        "start": {
          "line": 46,
          "column": 2
        },
        "end": {
          "line": 46,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1469,
      "end": 1470,
      "loc": {
        "start": {
          "line": 46,
          "column": 5
        },
        "end": {
          "line": 46,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SET_DEFERRED",
      "start": 1473,
      "end": 1485,
      "loc": {
        "start": {
          "line": 47,
          "column": 2
        },
        "end": {
          "line": 47,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1485,
      "end": 1486,
      "loc": {
        "start": {
          "line": 47,
          "column": 14
        },
        "end": {
          "line": 47,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SET_IMMEDIATE",
      "start": 1489,
      "end": 1502,
      "loc": {
        "start": {
          "line": 48,
          "column": 2
        },
        "end": {
          "line": 48,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1503,
      "end": 1504,
      "loc": {
        "start": {
          "line": 49,
          "column": 0
        },
        "end": {
          "line": 49,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1504,
      "end": 1505,
      "loc": {
        "start": {
          "line": 49,
          "column": 1
        },
        "end": {
          "line": 49,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 1507,
      "end": 1515,
      "loc": {
        "start": {
          "line": 51,
          "column": 0
        },
        "end": {
          "line": 51,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ABSTRACT",
      "start": 1516,
      "end": 1524,
      "loc": {
        "start": {
          "line": 51,
          "column": 9
        },
        "end": {
          "line": 51,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1524,
      "end": 1525,
      "loc": {
        "start": {
          "line": 51,
          "column": 17
        },
        "end": {
          "line": 51,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1525,
      "end": 1526,
      "loc": {
        "start": {
          "line": 51,
          "column": 18
        },
        "end": {
          "line": 51,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1527,
      "end": 1528,
      "loc": {
        "start": {
          "line": 51,
          "column": 20
        },
        "end": {
          "line": 51,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1528,
      "end": 1529,
      "loc": {
        "start": {
          "line": 51,
          "column": 21
        },
        "end": {
          "line": 51,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ABSTRACT",
      "start": 1531,
      "end": 1539,
      "loc": {
        "start": {
          "line": 53,
          "column": 0
        },
        "end": {
          "line": 53,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1539,
      "end": 1540,
      "loc": {
        "start": {
          "line": 53,
          "column": 8
        },
        "end": {
          "line": 53,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 1540,
      "end": 1549,
      "loc": {
        "start": {
          "line": 53,
          "column": 9
        },
        "end": {
          "line": 53,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1549,
      "end": 1550,
      "loc": {
        "start": {
          "line": 53,
          "column": 18
        },
        "end": {
          "line": 53,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toString",
      "start": 1550,
      "end": 1558,
      "loc": {
        "start": {
          "line": 53,
          "column": 19
        },
        "end": {
          "line": 53,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1559,
      "end": 1560,
      "loc": {
        "start": {
          "line": 53,
          "column": 28
        },
        "end": {
          "line": 53,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 1561,
      "end": 1569,
      "loc": {
        "start": {
          "line": 53,
          "column": 30
        },
        "end": {
          "line": 53,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1569,
      "end": 1570,
      "loc": {
        "start": {
          "line": 53,
          "column": 38
        },
        "end": {
          "line": 53,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1570,
      "end": 1571,
      "loc": {
        "start": {
          "line": 53,
          "column": 39
        },
        "end": {
          "line": 53,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1572,
      "end": 1573,
      "loc": {
        "start": {
          "line": 53,
          "column": 41
        },
        "end": {
          "line": 53,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1576,
      "end": 1582,
      "loc": {
        "start": {
          "line": 54,
          "column": 2
        },
        "end": {
          "line": 54,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1583,
      "end": 1587,
      "loc": {
        "start": {
          "line": 54,
          "column": 9
        },
        "end": {
          "line": 54,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1587,
      "end": 1588,
      "loc": {
        "start": {
          "line": 54,
          "column": 13
        },
        "end": {
          "line": 54,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toSql",
      "start": 1588,
      "end": 1593,
      "loc": {
        "start": {
          "line": 54,
          "column": 14
        },
        "end": {
          "line": 54,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1593,
      "end": 1594,
      "loc": {
        "start": {
          "line": 54,
          "column": 19
        },
        "end": {
          "line": 54,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "apply",
      "start": 1594,
      "end": 1599,
      "loc": {
        "start": {
          "line": 54,
          "column": 20
        },
        "end": {
          "line": 54,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1599,
      "end": 1600,
      "loc": {
        "start": {
          "line": 54,
          "column": 25
        },
        "end": {
          "line": 54,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1600,
      "end": 1604,
      "loc": {
        "start": {
          "line": 54,
          "column": 26
        },
        "end": {
          "line": 54,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1604,
      "end": 1605,
      "loc": {
        "start": {
          "line": 54,
          "column": 30
        },
        "end": {
          "line": 54,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "arguments",
      "start": 1606,
      "end": 1615,
      "loc": {
        "start": {
          "line": 54,
          "column": 32
        },
        "end": {
          "line": 54,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1615,
      "end": 1616,
      "loc": {
        "start": {
          "line": 54,
          "column": 41
        },
        "end": {
          "line": 54,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1616,
      "end": 1617,
      "loc": {
        "start": {
          "line": 54,
          "column": 42
        },
        "end": {
          "line": 54,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1618,
      "end": 1619,
      "loc": {
        "start": {
          "line": 55,
          "column": 0
        },
        "end": {
          "line": 55,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1619,
      "end": 1620,
      "loc": {
        "start": {
          "line": 55,
          "column": 1
        },
        "end": {
          "line": 55,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 1622,
      "end": 1630,
      "loc": {
        "start": {
          "line": 57,
          "column": 0
        },
        "end": {
          "line": 57,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "INITIALLY_DEFERRED",
      "start": 1631,
      "end": 1649,
      "loc": {
        "start": {
          "line": 57,
          "column": 9
        },
        "end": {
          "line": 57,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1649,
      "end": 1650,
      "loc": {
        "start": {
          "line": 57,
          "column": 27
        },
        "end": {
          "line": 57,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1650,
      "end": 1651,
      "loc": {
        "start": {
          "line": 57,
          "column": 28
        },
        "end": {
          "line": 57,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1652,
      "end": 1653,
      "loc": {
        "start": {
          "line": 57,
          "column": 30
        },
        "end": {
          "line": 57,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1656,
      "end": 1658,
      "loc": {
        "start": {
          "line": 58,
          "column": 2
        },
        "end": {
          "line": 58,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1659,
      "end": 1660,
      "loc": {
        "start": {
          "line": 58,
          "column": 5
        },
        "end": {
          "line": 58,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1660,
      "end": 1661,
      "loc": {
        "start": {
          "line": 58,
          "column": 6
        },
        "end": {
          "line": 58,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1661,
      "end": 1662,
      "loc": {
        "start": {
          "line": 58,
          "column": 7
        },
        "end": {
          "line": 58,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1662,
      "end": 1666,
      "loc": {
        "start": {
          "line": 58,
          "column": 8
        },
        "end": {
          "line": 58,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "instanceof",
        "keyword": "instanceof",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "instanceof",
      "start": 1667,
      "end": 1677,
      "loc": {
        "start": {
          "line": 58,
          "column": 13
        },
        "end": {
          "line": 58,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "INITIALLY_DEFERRED",
      "start": 1678,
      "end": 1696,
      "loc": {
        "start": {
          "line": 58,
          "column": 24
        },
        "end": {
          "line": 58,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1696,
      "end": 1697,
      "loc": {
        "start": {
          "line": 58,
          "column": 42
        },
        "end": {
          "line": 58,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1697,
      "end": 1698,
      "loc": {
        "start": {
          "line": 58,
          "column": 43
        },
        "end": {
          "line": 58,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1699,
      "end": 1700,
      "loc": {
        "start": {
          "line": 58,
          "column": 45
        },
        "end": {
          "line": 58,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1705,
      "end": 1711,
      "loc": {
        "start": {
          "line": 59,
          "column": 4
        },
        "end": {
          "line": 59,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 1712,
      "end": 1715,
      "loc": {
        "start": {
          "line": 59,
          "column": 11
        },
        "end": {
          "line": 59,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "INITIALLY_DEFERRED",
      "start": 1716,
      "end": 1734,
      "loc": {
        "start": {
          "line": 59,
          "column": 15
        },
        "end": {
          "line": 59,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1734,
      "end": 1735,
      "loc": {
        "start": {
          "line": 59,
          "column": 33
        },
        "end": {
          "line": 59,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1735,
      "end": 1736,
      "loc": {
        "start": {
          "line": 59,
          "column": 34
        },
        "end": {
          "line": 59,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1736,
      "end": 1737,
      "loc": {
        "start": {
          "line": 59,
          "column": 35
        },
        "end": {
          "line": 59,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1740,
      "end": 1741,
      "loc": {
        "start": {
          "line": 60,
          "column": 2
        },
        "end": {
          "line": 60,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1742,
      "end": 1743,
      "loc": {
        "start": {
          "line": 61,
          "column": 0
        },
        "end": {
          "line": 61,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "util",
      "start": 1744,
      "end": 1748,
      "loc": {
        "start": {
          "line": 62,
          "column": 0
        },
        "end": {
          "line": 62,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1748,
      "end": 1749,
      "loc": {
        "start": {
          "line": 62,
          "column": 4
        },
        "end": {
          "line": 62,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "inherits",
      "start": 1749,
      "end": 1757,
      "loc": {
        "start": {
          "line": 62,
          "column": 5
        },
        "end": {
          "line": 62,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1757,
      "end": 1758,
      "loc": {
        "start": {
          "line": 62,
          "column": 13
        },
        "end": {
          "line": 62,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "INITIALLY_DEFERRED",
      "start": 1758,
      "end": 1776,
      "loc": {
        "start": {
          "line": 62,
          "column": 14
        },
        "end": {
          "line": 62,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1776,
      "end": 1777,
      "loc": {
        "start": {
          "line": 62,
          "column": 32
        },
        "end": {
          "line": 62,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ABSTRACT",
      "start": 1778,
      "end": 1786,
      "loc": {
        "start": {
          "line": 62,
          "column": 34
        },
        "end": {
          "line": 62,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1786,
      "end": 1787,
      "loc": {
        "start": {
          "line": 62,
          "column": 42
        },
        "end": {
          "line": 62,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1787,
      "end": 1788,
      "loc": {
        "start": {
          "line": 62,
          "column": 43
        },
        "end": {
          "line": 62,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "INITIALLY_DEFERRED",
      "start": 1790,
      "end": 1808,
      "loc": {
        "start": {
          "line": 64,
          "column": 0
        },
        "end": {
          "line": 64,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1808,
      "end": 1809,
      "loc": {
        "start": {
          "line": 64,
          "column": 18
        },
        "end": {
          "line": 64,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 1809,
      "end": 1818,
      "loc": {
        "start": {
          "line": 64,
          "column": 19
        },
        "end": {
          "line": 64,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1818,
      "end": 1819,
      "loc": {
        "start": {
          "line": 64,
          "column": 28
        },
        "end": {
          "line": 64,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toSql",
      "start": 1819,
      "end": 1824,
      "loc": {
        "start": {
          "line": 64,
          "column": 29
        },
        "end": {
          "line": 64,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1825,
      "end": 1826,
      "loc": {
        "start": {
          "line": 64,
          "column": 35
        },
        "end": {
          "line": 64,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 1827,
      "end": 1835,
      "loc": {
        "start": {
          "line": 64,
          "column": 37
        },
        "end": {
          "line": 64,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1835,
      "end": 1836,
      "loc": {
        "start": {
          "line": 64,
          "column": 45
        },
        "end": {
          "line": 64,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1836,
      "end": 1837,
      "loc": {
        "start": {
          "line": 64,
          "column": 46
        },
        "end": {
          "line": 64,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1838,
      "end": 1839,
      "loc": {
        "start": {
          "line": 64,
          "column": 48
        },
        "end": {
          "line": 64,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1842,
      "end": 1848,
      "loc": {
        "start": {
          "line": 65,
          "column": 2
        },
        "end": {
          "line": 65,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "DEFERRABLE INITIALLY DEFERRED",
      "start": 1849,
      "end": 1880,
      "loc": {
        "start": {
          "line": 65,
          "column": 9
        },
        "end": {
          "line": 65,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1880,
      "end": 1881,
      "loc": {
        "start": {
          "line": 65,
          "column": 40
        },
        "end": {
          "line": 65,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1882,
      "end": 1883,
      "loc": {
        "start": {
          "line": 66,
          "column": 0
        },
        "end": {
          "line": 66,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1883,
      "end": 1884,
      "loc": {
        "start": {
          "line": 66,
          "column": 1
        },
        "end": {
          "line": 66,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 1886,
      "end": 1894,
      "loc": {
        "start": {
          "line": 68,
          "column": 0
        },
        "end": {
          "line": 68,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "INITIALLY_IMMEDIATE",
      "start": 1895,
      "end": 1914,
      "loc": {
        "start": {
          "line": 68,
          "column": 9
        },
        "end": {
          "line": 68,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1914,
      "end": 1915,
      "loc": {
        "start": {
          "line": 68,
          "column": 28
        },
        "end": {
          "line": 68,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1915,
      "end": 1916,
      "loc": {
        "start": {
          "line": 68,
          "column": 29
        },
        "end": {
          "line": 68,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1917,
      "end": 1918,
      "loc": {
        "start": {
          "line": 68,
          "column": 31
        },
        "end": {
          "line": 68,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1921,
      "end": 1923,
      "loc": {
        "start": {
          "line": 69,
          "column": 2
        },
        "end": {
          "line": 69,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1924,
      "end": 1925,
      "loc": {
        "start": {
          "line": 69,
          "column": 5
        },
        "end": {
          "line": 69,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1925,
      "end": 1926,
      "loc": {
        "start": {
          "line": 69,
          "column": 6
        },
        "end": {
          "line": 69,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1926,
      "end": 1927,
      "loc": {
        "start": {
          "line": 69,
          "column": 7
        },
        "end": {
          "line": 69,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1927,
      "end": 1931,
      "loc": {
        "start": {
          "line": 69,
          "column": 8
        },
        "end": {
          "line": 69,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "instanceof",
        "keyword": "instanceof",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "instanceof",
      "start": 1932,
      "end": 1942,
      "loc": {
        "start": {
          "line": 69,
          "column": 13
        },
        "end": {
          "line": 69,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "INITIALLY_IMMEDIATE",
      "start": 1943,
      "end": 1962,
      "loc": {
        "start": {
          "line": 69,
          "column": 24
        },
        "end": {
          "line": 69,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1962,
      "end": 1963,
      "loc": {
        "start": {
          "line": 69,
          "column": 43
        },
        "end": {
          "line": 69,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1963,
      "end": 1964,
      "loc": {
        "start": {
          "line": 69,
          "column": 44
        },
        "end": {
          "line": 69,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1965,
      "end": 1966,
      "loc": {
        "start": {
          "line": 69,
          "column": 46
        },
        "end": {
          "line": 69,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1971,
      "end": 1977,
      "loc": {
        "start": {
          "line": 70,
          "column": 4
        },
        "end": {
          "line": 70,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 1978,
      "end": 1981,
      "loc": {
        "start": {
          "line": 70,
          "column": 11
        },
        "end": {
          "line": 70,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "INITIALLY_IMMEDIATE",
      "start": 1982,
      "end": 2001,
      "loc": {
        "start": {
          "line": 70,
          "column": 15
        },
        "end": {
          "line": 70,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2001,
      "end": 2002,
      "loc": {
        "start": {
          "line": 70,
          "column": 34
        },
        "end": {
          "line": 70,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2002,
      "end": 2003,
      "loc": {
        "start": {
          "line": 70,
          "column": 35
        },
        "end": {
          "line": 70,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2003,
      "end": 2004,
      "loc": {
        "start": {
          "line": 70,
          "column": 36
        },
        "end": {
          "line": 70,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2007,
      "end": 2008,
      "loc": {
        "start": {
          "line": 71,
          "column": 2
        },
        "end": {
          "line": 71,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2009,
      "end": 2010,
      "loc": {
        "start": {
          "line": 72,
          "column": 0
        },
        "end": {
          "line": 72,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "util",
      "start": 2011,
      "end": 2015,
      "loc": {
        "start": {
          "line": 73,
          "column": 0
        },
        "end": {
          "line": 73,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2015,
      "end": 2016,
      "loc": {
        "start": {
          "line": 73,
          "column": 4
        },
        "end": {
          "line": 73,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "inherits",
      "start": 2016,
      "end": 2024,
      "loc": {
        "start": {
          "line": 73,
          "column": 5
        },
        "end": {
          "line": 73,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2024,
      "end": 2025,
      "loc": {
        "start": {
          "line": 73,
          "column": 13
        },
        "end": {
          "line": 73,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "INITIALLY_IMMEDIATE",
      "start": 2025,
      "end": 2044,
      "loc": {
        "start": {
          "line": 73,
          "column": 14
        },
        "end": {
          "line": 73,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2044,
      "end": 2045,
      "loc": {
        "start": {
          "line": 73,
          "column": 33
        },
        "end": {
          "line": 73,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ABSTRACT",
      "start": 2046,
      "end": 2054,
      "loc": {
        "start": {
          "line": 73,
          "column": 35
        },
        "end": {
          "line": 73,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2054,
      "end": 2055,
      "loc": {
        "start": {
          "line": 73,
          "column": 43
        },
        "end": {
          "line": 73,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2055,
      "end": 2056,
      "loc": {
        "start": {
          "line": 73,
          "column": 44
        },
        "end": {
          "line": 73,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "INITIALLY_IMMEDIATE",
      "start": 2058,
      "end": 2077,
      "loc": {
        "start": {
          "line": 75,
          "column": 0
        },
        "end": {
          "line": 75,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2077,
      "end": 2078,
      "loc": {
        "start": {
          "line": 75,
          "column": 19
        },
        "end": {
          "line": 75,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 2078,
      "end": 2087,
      "loc": {
        "start": {
          "line": 75,
          "column": 20
        },
        "end": {
          "line": 75,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2087,
      "end": 2088,
      "loc": {
        "start": {
          "line": 75,
          "column": 29
        },
        "end": {
          "line": 75,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toSql",
      "start": 2088,
      "end": 2093,
      "loc": {
        "start": {
          "line": 75,
          "column": 30
        },
        "end": {
          "line": 75,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2094,
      "end": 2095,
      "loc": {
        "start": {
          "line": 75,
          "column": 36
        },
        "end": {
          "line": 75,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2096,
      "end": 2104,
      "loc": {
        "start": {
          "line": 75,
          "column": 38
        },
        "end": {
          "line": 75,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2104,
      "end": 2105,
      "loc": {
        "start": {
          "line": 75,
          "column": 46
        },
        "end": {
          "line": 75,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2105,
      "end": 2106,
      "loc": {
        "start": {
          "line": 75,
          "column": 47
        },
        "end": {
          "line": 75,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2107,
      "end": 2108,
      "loc": {
        "start": {
          "line": 75,
          "column": 49
        },
        "end": {
          "line": 75,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2111,
      "end": 2117,
      "loc": {
        "start": {
          "line": 76,
          "column": 2
        },
        "end": {
          "line": 76,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "DEFERRABLE INITIALLY IMMEDIATE",
      "start": 2118,
      "end": 2150,
      "loc": {
        "start": {
          "line": 76,
          "column": 9
        },
        "end": {
          "line": 76,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2150,
      "end": 2151,
      "loc": {
        "start": {
          "line": 76,
          "column": 41
        },
        "end": {
          "line": 76,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2152,
      "end": 2153,
      "loc": {
        "start": {
          "line": 77,
          "column": 0
        },
        "end": {
          "line": 77,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2153,
      "end": 2154,
      "loc": {
        "start": {
          "line": 77,
          "column": 1
        },
        "end": {
          "line": 77,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2156,
      "end": 2164,
      "loc": {
        "start": {
          "line": 79,
          "column": 0
        },
        "end": {
          "line": 79,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "NOT",
      "start": 2165,
      "end": 2168,
      "loc": {
        "start": {
          "line": 79,
          "column": 9
        },
        "end": {
          "line": 79,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2168,
      "end": 2169,
      "loc": {
        "start": {
          "line": 79,
          "column": 12
        },
        "end": {
          "line": 79,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2169,
      "end": 2170,
      "loc": {
        "start": {
          "line": 79,
          "column": 13
        },
        "end": {
          "line": 79,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2171,
      "end": 2172,
      "loc": {
        "start": {
          "line": 79,
          "column": 15
        },
        "end": {
          "line": 79,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2175,
      "end": 2177,
      "loc": {
        "start": {
          "line": 80,
          "column": 2
        },
        "end": {
          "line": 80,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2178,
      "end": 2179,
      "loc": {
        "start": {
          "line": 80,
          "column": 5
        },
        "end": {
          "line": 80,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 2179,
      "end": 2180,
      "loc": {
        "start": {
          "line": 80,
          "column": 6
        },
        "end": {
          "line": 80,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2180,
      "end": 2181,
      "loc": {
        "start": {
          "line": 80,
          "column": 7
        },
        "end": {
          "line": 80,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2181,
      "end": 2185,
      "loc": {
        "start": {
          "line": 80,
          "column": 8
        },
        "end": {
          "line": 80,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "instanceof",
        "keyword": "instanceof",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "instanceof",
      "start": 2186,
      "end": 2196,
      "loc": {
        "start": {
          "line": 80,
          "column": 13
        },
        "end": {
          "line": 80,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "NOT",
      "start": 2197,
      "end": 2200,
      "loc": {
        "start": {
          "line": 80,
          "column": 24
        },
        "end": {
          "line": 80,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2200,
      "end": 2201,
      "loc": {
        "start": {
          "line": 80,
          "column": 27
        },
        "end": {
          "line": 80,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2201,
      "end": 2202,
      "loc": {
        "start": {
          "line": 80,
          "column": 28
        },
        "end": {
          "line": 80,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2203,
      "end": 2204,
      "loc": {
        "start": {
          "line": 80,
          "column": 30
        },
        "end": {
          "line": 80,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2209,
      "end": 2215,
      "loc": {
        "start": {
          "line": 81,
          "column": 4
        },
        "end": {
          "line": 81,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 2216,
      "end": 2219,
      "loc": {
        "start": {
          "line": 81,
          "column": 11
        },
        "end": {
          "line": 81,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "NOT",
      "start": 2220,
      "end": 2223,
      "loc": {
        "start": {
          "line": 81,
          "column": 15
        },
        "end": {
          "line": 81,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2223,
      "end": 2224,
      "loc": {
        "start": {
          "line": 81,
          "column": 18
        },
        "end": {
          "line": 81,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2224,
      "end": 2225,
      "loc": {
        "start": {
          "line": 81,
          "column": 19
        },
        "end": {
          "line": 81,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2225,
      "end": 2226,
      "loc": {
        "start": {
          "line": 81,
          "column": 20
        },
        "end": {
          "line": 81,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2229,
      "end": 2230,
      "loc": {
        "start": {
          "line": 82,
          "column": 2
        },
        "end": {
          "line": 82,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2231,
      "end": 2232,
      "loc": {
        "start": {
          "line": 83,
          "column": 0
        },
        "end": {
          "line": 83,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "util",
      "start": 2233,
      "end": 2237,
      "loc": {
        "start": {
          "line": 84,
          "column": 0
        },
        "end": {
          "line": 84,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2237,
      "end": 2238,
      "loc": {
        "start": {
          "line": 84,
          "column": 4
        },
        "end": {
          "line": 84,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "inherits",
      "start": 2238,
      "end": 2246,
      "loc": {
        "start": {
          "line": 84,
          "column": 5
        },
        "end": {
          "line": 84,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2246,
      "end": 2247,
      "loc": {
        "start": {
          "line": 84,
          "column": 13
        },
        "end": {
          "line": 84,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "NOT",
      "start": 2247,
      "end": 2250,
      "loc": {
        "start": {
          "line": 84,
          "column": 14
        },
        "end": {
          "line": 84,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2250,
      "end": 2251,
      "loc": {
        "start": {
          "line": 84,
          "column": 17
        },
        "end": {
          "line": 84,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ABSTRACT",
      "start": 2252,
      "end": 2260,
      "loc": {
        "start": {
          "line": 84,
          "column": 19
        },
        "end": {
          "line": 84,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2260,
      "end": 2261,
      "loc": {
        "start": {
          "line": 84,
          "column": 27
        },
        "end": {
          "line": 84,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2261,
      "end": 2262,
      "loc": {
        "start": {
          "line": 84,
          "column": 28
        },
        "end": {
          "line": 84,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "NOT",
      "start": 2264,
      "end": 2267,
      "loc": {
        "start": {
          "line": 86,
          "column": 0
        },
        "end": {
          "line": 86,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2267,
      "end": 2268,
      "loc": {
        "start": {
          "line": 86,
          "column": 3
        },
        "end": {
          "line": 86,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 2268,
      "end": 2277,
      "loc": {
        "start": {
          "line": 86,
          "column": 4
        },
        "end": {
          "line": 86,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2277,
      "end": 2278,
      "loc": {
        "start": {
          "line": 86,
          "column": 13
        },
        "end": {
          "line": 86,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toSql",
      "start": 2278,
      "end": 2283,
      "loc": {
        "start": {
          "line": 86,
          "column": 14
        },
        "end": {
          "line": 86,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2284,
      "end": 2285,
      "loc": {
        "start": {
          "line": 86,
          "column": 20
        },
        "end": {
          "line": 86,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2286,
      "end": 2294,
      "loc": {
        "start": {
          "line": 86,
          "column": 22
        },
        "end": {
          "line": 86,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2294,
      "end": 2295,
      "loc": {
        "start": {
          "line": 86,
          "column": 30
        },
        "end": {
          "line": 86,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2295,
      "end": 2296,
      "loc": {
        "start": {
          "line": 86,
          "column": 31
        },
        "end": {
          "line": 86,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2297,
      "end": 2298,
      "loc": {
        "start": {
          "line": 86,
          "column": 33
        },
        "end": {
          "line": 86,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2301,
      "end": 2307,
      "loc": {
        "start": {
          "line": 87,
          "column": 2
        },
        "end": {
          "line": 87,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "NOT DEFERRABLE",
      "start": 2308,
      "end": 2324,
      "loc": {
        "start": {
          "line": 87,
          "column": 9
        },
        "end": {
          "line": 87,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2324,
      "end": 2325,
      "loc": {
        "start": {
          "line": 87,
          "column": 25
        },
        "end": {
          "line": 87,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2326,
      "end": 2327,
      "loc": {
        "start": {
          "line": 88,
          "column": 0
        },
        "end": {
          "line": 88,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2327,
      "end": 2328,
      "loc": {
        "start": {
          "line": 88,
          "column": 1
        },
        "end": {
          "line": 88,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2330,
      "end": 2338,
      "loc": {
        "start": {
          "line": 90,
          "column": 0
        },
        "end": {
          "line": 90,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SET_DEFERRED",
      "start": 2339,
      "end": 2351,
      "loc": {
        "start": {
          "line": 90,
          "column": 9
        },
        "end": {
          "line": 90,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2351,
      "end": 2352,
      "loc": {
        "start": {
          "line": 90,
          "column": 21
        },
        "end": {
          "line": 90,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 2352,
      "end": 2363,
      "loc": {
        "start": {
          "line": 90,
          "column": 22
        },
        "end": {
          "line": 90,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2363,
      "end": 2364,
      "loc": {
        "start": {
          "line": 90,
          "column": 33
        },
        "end": {
          "line": 90,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2365,
      "end": 2366,
      "loc": {
        "start": {
          "line": 90,
          "column": 35
        },
        "end": {
          "line": 90,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2369,
      "end": 2371,
      "loc": {
        "start": {
          "line": 91,
          "column": 2
        },
        "end": {
          "line": 91,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2372,
      "end": 2373,
      "loc": {
        "start": {
          "line": 91,
          "column": 5
        },
        "end": {
          "line": 91,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 2373,
      "end": 2374,
      "loc": {
        "start": {
          "line": 91,
          "column": 6
        },
        "end": {
          "line": 91,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2374,
      "end": 2375,
      "loc": {
        "start": {
          "line": 91,
          "column": 7
        },
        "end": {
          "line": 91,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2375,
      "end": 2379,
      "loc": {
        "start": {
          "line": 91,
          "column": 8
        },
        "end": {
          "line": 91,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "instanceof",
        "keyword": "instanceof",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "instanceof",
      "start": 2380,
      "end": 2390,
      "loc": {
        "start": {
          "line": 91,
          "column": 13
        },
        "end": {
          "line": 91,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SET_DEFERRED",
      "start": 2391,
      "end": 2403,
      "loc": {
        "start": {
          "line": 91,
          "column": 24
        },
        "end": {
          "line": 91,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2403,
      "end": 2404,
      "loc": {
        "start": {
          "line": 91,
          "column": 36
        },
        "end": {
          "line": 91,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2404,
      "end": 2405,
      "loc": {
        "start": {
          "line": 91,
          "column": 37
        },
        "end": {
          "line": 91,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2406,
      "end": 2407,
      "loc": {
        "start": {
          "line": 91,
          "column": 39
        },
        "end": {
          "line": 91,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2412,
      "end": 2418,
      "loc": {
        "start": {
          "line": 92,
          "column": 4
        },
        "end": {
          "line": 92,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 2419,
      "end": 2422,
      "loc": {
        "start": {
          "line": 92,
          "column": 11
        },
        "end": {
          "line": 92,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SET_DEFERRED",
      "start": 2423,
      "end": 2435,
      "loc": {
        "start": {
          "line": 92,
          "column": 15
        },
        "end": {
          "line": 92,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2435,
      "end": 2436,
      "loc": {
        "start": {
          "line": 92,
          "column": 27
        },
        "end": {
          "line": 92,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 2436,
      "end": 2447,
      "loc": {
        "start": {
          "line": 92,
          "column": 28
        },
        "end": {
          "line": 92,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2447,
      "end": 2448,
      "loc": {
        "start": {
          "line": 92,
          "column": 39
        },
        "end": {
          "line": 92,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2448,
      "end": 2449,
      "loc": {
        "start": {
          "line": 92,
          "column": 40
        },
        "end": {
          "line": 92,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2452,
      "end": 2453,
      "loc": {
        "start": {
          "line": 93,
          "column": 2
        },
        "end": {
          "line": 93,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2457,
      "end": 2461,
      "loc": {
        "start": {
          "line": 95,
          "column": 2
        },
        "end": {
          "line": 95,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2461,
      "end": 2462,
      "loc": {
        "start": {
          "line": 95,
          "column": 6
        },
        "end": {
          "line": 95,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 2462,
      "end": 2473,
      "loc": {
        "start": {
          "line": 95,
          "column": 7
        },
        "end": {
          "line": 95,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2474,
      "end": 2475,
      "loc": {
        "start": {
          "line": 95,
          "column": 19
        },
        "end": {
          "line": 95,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 2476,
      "end": 2487,
      "loc": {
        "start": {
          "line": 95,
          "column": 21
        },
        "end": {
          "line": 95,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2487,
      "end": 2488,
      "loc": {
        "start": {
          "line": 95,
          "column": 32
        },
        "end": {
          "line": 95,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2489,
      "end": 2490,
      "loc": {
        "start": {
          "line": 96,
          "column": 0
        },
        "end": {
          "line": 96,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "util",
      "start": 2491,
      "end": 2495,
      "loc": {
        "start": {
          "line": 97,
          "column": 0
        },
        "end": {
          "line": 97,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2495,
      "end": 2496,
      "loc": {
        "start": {
          "line": 97,
          "column": 4
        },
        "end": {
          "line": 97,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "inherits",
      "start": 2496,
      "end": 2504,
      "loc": {
        "start": {
          "line": 97,
          "column": 5
        },
        "end": {
          "line": 97,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2504,
      "end": 2505,
      "loc": {
        "start": {
          "line": 97,
          "column": 13
        },
        "end": {
          "line": 97,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SET_DEFERRED",
      "start": 2505,
      "end": 2517,
      "loc": {
        "start": {
          "line": 97,
          "column": 14
        },
        "end": {
          "line": 97,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2517,
      "end": 2518,
      "loc": {
        "start": {
          "line": 97,
          "column": 26
        },
        "end": {
          "line": 97,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ABSTRACT",
      "start": 2519,
      "end": 2527,
      "loc": {
        "start": {
          "line": 97,
          "column": 28
        },
        "end": {
          "line": 97,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2527,
      "end": 2528,
      "loc": {
        "start": {
          "line": 97,
          "column": 36
        },
        "end": {
          "line": 97,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2528,
      "end": 2529,
      "loc": {
        "start": {
          "line": 97,
          "column": 37
        },
        "end": {
          "line": 97,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SET_DEFERRED",
      "start": 2531,
      "end": 2543,
      "loc": {
        "start": {
          "line": 99,
          "column": 0
        },
        "end": {
          "line": 99,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2543,
      "end": 2544,
      "loc": {
        "start": {
          "line": 99,
          "column": 12
        },
        "end": {
          "line": 99,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 2544,
      "end": 2553,
      "loc": {
        "start": {
          "line": 99,
          "column": 13
        },
        "end": {
          "line": 99,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2553,
      "end": 2554,
      "loc": {
        "start": {
          "line": 99,
          "column": 22
        },
        "end": {
          "line": 99,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toSql",
      "start": 2554,
      "end": 2559,
      "loc": {
        "start": {
          "line": 99,
          "column": 23
        },
        "end": {
          "line": 99,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2560,
      "end": 2561,
      "loc": {
        "start": {
          "line": 99,
          "column": 29
        },
        "end": {
          "line": 99,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2562,
      "end": 2570,
      "loc": {
        "start": {
          "line": 99,
          "column": 31
        },
        "end": {
          "line": 99,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2570,
      "end": 2571,
      "loc": {
        "start": {
          "line": 99,
          "column": 39
        },
        "end": {
          "line": 99,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "queryGenerator",
      "start": 2571,
      "end": 2585,
      "loc": {
        "start": {
          "line": 99,
          "column": 40
        },
        "end": {
          "line": 99,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2585,
      "end": 2586,
      "loc": {
        "start": {
          "line": 99,
          "column": 54
        },
        "end": {
          "line": 99,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2587,
      "end": 2588,
      "loc": {
        "start": {
          "line": 99,
          "column": 56
        },
        "end": {
          "line": 99,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2591,
      "end": 2597,
      "loc": {
        "start": {
          "line": 100,
          "column": 2
        },
        "end": {
          "line": 100,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "queryGenerator",
      "start": 2598,
      "end": 2612,
      "loc": {
        "start": {
          "line": 100,
          "column": 9
        },
        "end": {
          "line": 100,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2612,
      "end": 2613,
      "loc": {
        "start": {
          "line": 100,
          "column": 23
        },
        "end": {
          "line": 100,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setDeferredQuery",
      "start": 2613,
      "end": 2629,
      "loc": {
        "start": {
          "line": 100,
          "column": 24
        },
        "end": {
          "line": 100,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2629,
      "end": 2630,
      "loc": {
        "start": {
          "line": 100,
          "column": 40
        },
        "end": {
          "line": 100,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2630,
      "end": 2634,
      "loc": {
        "start": {
          "line": 100,
          "column": 41
        },
        "end": {
          "line": 100,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2634,
      "end": 2635,
      "loc": {
        "start": {
          "line": 100,
          "column": 45
        },
        "end": {
          "line": 100,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 2635,
      "end": 2646,
      "loc": {
        "start": {
          "line": 100,
          "column": 46
        },
        "end": {
          "line": 100,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2646,
      "end": 2647,
      "loc": {
        "start": {
          "line": 100,
          "column": 57
        },
        "end": {
          "line": 100,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2647,
      "end": 2648,
      "loc": {
        "start": {
          "line": 100,
          "column": 58
        },
        "end": {
          "line": 100,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2649,
      "end": 2650,
      "loc": {
        "start": {
          "line": 101,
          "column": 0
        },
        "end": {
          "line": 101,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2650,
      "end": 2651,
      "loc": {
        "start": {
          "line": 101,
          "column": 1
        },
        "end": {
          "line": 101,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2653,
      "end": 2661,
      "loc": {
        "start": {
          "line": 103,
          "column": 0
        },
        "end": {
          "line": 103,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SET_IMMEDIATE",
      "start": 2662,
      "end": 2675,
      "loc": {
        "start": {
          "line": 103,
          "column": 9
        },
        "end": {
          "line": 103,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2675,
      "end": 2676,
      "loc": {
        "start": {
          "line": 103,
          "column": 22
        },
        "end": {
          "line": 103,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 2676,
      "end": 2687,
      "loc": {
        "start": {
          "line": 103,
          "column": 23
        },
        "end": {
          "line": 103,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2687,
      "end": 2688,
      "loc": {
        "start": {
          "line": 103,
          "column": 34
        },
        "end": {
          "line": 103,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2689,
      "end": 2690,
      "loc": {
        "start": {
          "line": 103,
          "column": 36
        },
        "end": {
          "line": 103,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2693,
      "end": 2695,
      "loc": {
        "start": {
          "line": 104,
          "column": 2
        },
        "end": {
          "line": 104,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2696,
      "end": 2697,
      "loc": {
        "start": {
          "line": 104,
          "column": 5
        },
        "end": {
          "line": 104,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 2697,
      "end": 2698,
      "loc": {
        "start": {
          "line": 104,
          "column": 6
        },
        "end": {
          "line": 104,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2698,
      "end": 2699,
      "loc": {
        "start": {
          "line": 104,
          "column": 7
        },
        "end": {
          "line": 104,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2699,
      "end": 2703,
      "loc": {
        "start": {
          "line": 104,
          "column": 8
        },
        "end": {
          "line": 104,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "instanceof",
        "keyword": "instanceof",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "instanceof",
      "start": 2704,
      "end": 2714,
      "loc": {
        "start": {
          "line": 104,
          "column": 13
        },
        "end": {
          "line": 104,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SET_IMMEDIATE",
      "start": 2715,
      "end": 2728,
      "loc": {
        "start": {
          "line": 104,
          "column": 24
        },
        "end": {
          "line": 104,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2728,
      "end": 2729,
      "loc": {
        "start": {
          "line": 104,
          "column": 37
        },
        "end": {
          "line": 104,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2729,
      "end": 2730,
      "loc": {
        "start": {
          "line": 104,
          "column": 38
        },
        "end": {
          "line": 104,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2731,
      "end": 2732,
      "loc": {
        "start": {
          "line": 104,
          "column": 40
        },
        "end": {
          "line": 104,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2737,
      "end": 2743,
      "loc": {
        "start": {
          "line": 105,
          "column": 4
        },
        "end": {
          "line": 105,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 2744,
      "end": 2747,
      "loc": {
        "start": {
          "line": 105,
          "column": 11
        },
        "end": {
          "line": 105,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SET_IMMEDIATE",
      "start": 2748,
      "end": 2761,
      "loc": {
        "start": {
          "line": 105,
          "column": 15
        },
        "end": {
          "line": 105,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2761,
      "end": 2762,
      "loc": {
        "start": {
          "line": 105,
          "column": 28
        },
        "end": {
          "line": 105,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 2762,
      "end": 2773,
      "loc": {
        "start": {
          "line": 105,
          "column": 29
        },
        "end": {
          "line": 105,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2773,
      "end": 2774,
      "loc": {
        "start": {
          "line": 105,
          "column": 40
        },
        "end": {
          "line": 105,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2774,
      "end": 2775,
      "loc": {
        "start": {
          "line": 105,
          "column": 41
        },
        "end": {
          "line": 105,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2778,
      "end": 2779,
      "loc": {
        "start": {
          "line": 106,
          "column": 2
        },
        "end": {
          "line": 106,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2783,
      "end": 2787,
      "loc": {
        "start": {
          "line": 108,
          "column": 2
        },
        "end": {
          "line": 108,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2787,
      "end": 2788,
      "loc": {
        "start": {
          "line": 108,
          "column": 6
        },
        "end": {
          "line": 108,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 2788,
      "end": 2799,
      "loc": {
        "start": {
          "line": 108,
          "column": 7
        },
        "end": {
          "line": 108,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2800,
      "end": 2801,
      "loc": {
        "start": {
          "line": 108,
          "column": 19
        },
        "end": {
          "line": 108,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 2802,
      "end": 2813,
      "loc": {
        "start": {
          "line": 108,
          "column": 21
        },
        "end": {
          "line": 108,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2813,
      "end": 2814,
      "loc": {
        "start": {
          "line": 108,
          "column": 32
        },
        "end": {
          "line": 108,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2815,
      "end": 2816,
      "loc": {
        "start": {
          "line": 109,
          "column": 0
        },
        "end": {
          "line": 109,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "util",
      "start": 2817,
      "end": 2821,
      "loc": {
        "start": {
          "line": 110,
          "column": 0
        },
        "end": {
          "line": 110,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2821,
      "end": 2822,
      "loc": {
        "start": {
          "line": 110,
          "column": 4
        },
        "end": {
          "line": 110,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "inherits",
      "start": 2822,
      "end": 2830,
      "loc": {
        "start": {
          "line": 110,
          "column": 5
        },
        "end": {
          "line": 110,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2830,
      "end": 2831,
      "loc": {
        "start": {
          "line": 110,
          "column": 13
        },
        "end": {
          "line": 110,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SET_IMMEDIATE",
      "start": 2831,
      "end": 2844,
      "loc": {
        "start": {
          "line": 110,
          "column": 14
        },
        "end": {
          "line": 110,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2844,
      "end": 2845,
      "loc": {
        "start": {
          "line": 110,
          "column": 27
        },
        "end": {
          "line": 110,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ABSTRACT",
      "start": 2846,
      "end": 2854,
      "loc": {
        "start": {
          "line": 110,
          "column": 29
        },
        "end": {
          "line": 110,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2854,
      "end": 2855,
      "loc": {
        "start": {
          "line": 110,
          "column": 37
        },
        "end": {
          "line": 110,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2855,
      "end": 2856,
      "loc": {
        "start": {
          "line": 110,
          "column": 38
        },
        "end": {
          "line": 110,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SET_IMMEDIATE",
      "start": 2858,
      "end": 2871,
      "loc": {
        "start": {
          "line": 112,
          "column": 0
        },
        "end": {
          "line": 112,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2871,
      "end": 2872,
      "loc": {
        "start": {
          "line": 112,
          "column": 13
        },
        "end": {
          "line": 112,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 2872,
      "end": 2881,
      "loc": {
        "start": {
          "line": 112,
          "column": 14
        },
        "end": {
          "line": 112,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2881,
      "end": 2882,
      "loc": {
        "start": {
          "line": 112,
          "column": 23
        },
        "end": {
          "line": 112,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toSql",
      "start": 2882,
      "end": 2887,
      "loc": {
        "start": {
          "line": 112,
          "column": 24
        },
        "end": {
          "line": 112,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2888,
      "end": 2889,
      "loc": {
        "start": {
          "line": 112,
          "column": 30
        },
        "end": {
          "line": 112,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2890,
      "end": 2898,
      "loc": {
        "start": {
          "line": 112,
          "column": 32
        },
        "end": {
          "line": 112,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2898,
      "end": 2899,
      "loc": {
        "start": {
          "line": 112,
          "column": 40
        },
        "end": {
          "line": 112,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "queryGenerator",
      "start": 2899,
      "end": 2913,
      "loc": {
        "start": {
          "line": 112,
          "column": 41
        },
        "end": {
          "line": 112,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2913,
      "end": 2914,
      "loc": {
        "start": {
          "line": 112,
          "column": 55
        },
        "end": {
          "line": 112,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2915,
      "end": 2916,
      "loc": {
        "start": {
          "line": 112,
          "column": 57
        },
        "end": {
          "line": 112,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2919,
      "end": 2925,
      "loc": {
        "start": {
          "line": 113,
          "column": 2
        },
        "end": {
          "line": 113,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "queryGenerator",
      "start": 2926,
      "end": 2940,
      "loc": {
        "start": {
          "line": 113,
          "column": 9
        },
        "end": {
          "line": 113,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2940,
      "end": 2941,
      "loc": {
        "start": {
          "line": 113,
          "column": 23
        },
        "end": {
          "line": 113,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setImmediateQuery",
      "start": 2941,
      "end": 2958,
      "loc": {
        "start": {
          "line": 113,
          "column": 24
        },
        "end": {
          "line": 113,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2958,
      "end": 2959,
      "loc": {
        "start": {
          "line": 113,
          "column": 41
        },
        "end": {
          "line": 113,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2959,
      "end": 2963,
      "loc": {
        "start": {
          "line": 113,
          "column": 42
        },
        "end": {
          "line": 113,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2963,
      "end": 2964,
      "loc": {
        "start": {
          "line": 113,
          "column": 46
        },
        "end": {
          "line": 113,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constraints",
      "start": 2964,
      "end": 2975,
      "loc": {
        "start": {
          "line": 113,
          "column": 47
        },
        "end": {
          "line": 113,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2975,
      "end": 2976,
      "loc": {
        "start": {
          "line": 113,
          "column": 58
        },
        "end": {
          "line": 113,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2976,
      "end": 2977,
      "loc": {
        "start": {
          "line": 113,
          "column": 59
        },
        "end": {
          "line": 113,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2978,
      "end": 2979,
      "loc": {
        "start": {
          "line": 114,
          "column": 0
        },
        "end": {
          "line": 114,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2979,
      "end": 2980,
      "loc": {
        "start": {
          "line": 114,
          "column": 1
        },
        "end": {
          "line": 114,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 2982,
      "end": 2988,
      "loc": {
        "start": {
          "line": 116,
          "column": 0
        },
        "end": {
          "line": 116,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2988,
      "end": 2989,
      "loc": {
        "start": {
          "line": 116,
          "column": 6
        },
        "end": {
          "line": 116,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keys",
      "start": 2989,
      "end": 2993,
      "loc": {
        "start": {
          "line": 116,
          "column": 7
        },
        "end": {
          "line": 116,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2993,
      "end": 2994,
      "loc": {
        "start": {
          "line": 116,
          "column": 11
        },
        "end": {
          "line": 116,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Deferrable",
      "start": 2994,
      "end": 3004,
      "loc": {
        "start": {
          "line": 116,
          "column": 12
        },
        "end": {
          "line": 116,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3004,
      "end": 3005,
      "loc": {
        "start": {
          "line": 116,
          "column": 22
        },
        "end": {
          "line": 116,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3005,
      "end": 3006,
      "loc": {
        "start": {
          "line": 116,
          "column": 23
        },
        "end": {
          "line": 116,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forEach",
      "start": 3006,
      "end": 3013,
      "loc": {
        "start": {
          "line": 116,
          "column": 24
        },
        "end": {
          "line": 116,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3013,
      "end": 3014,
      "loc": {
        "start": {
          "line": 116,
          "column": 31
        },
        "end": {
          "line": 116,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 3014,
      "end": 3022,
      "loc": {
        "start": {
          "line": 116,
          "column": 32
        },
        "end": {
          "line": 116,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3022,
      "end": 3023,
      "loc": {
        "start": {
          "line": 116,
          "column": 40
        },
        "end": {
          "line": 116,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 3023,
      "end": 3026,
      "loc": {
        "start": {
          "line": 116,
          "column": 41
        },
        "end": {
          "line": 116,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3026,
      "end": 3027,
      "loc": {
        "start": {
          "line": 116,
          "column": 44
        },
        "end": {
          "line": 116,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3028,
      "end": 3029,
      "loc": {
        "start": {
          "line": 116,
          "column": 46
        },
        "end": {
          "line": 116,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 3032,
      "end": 3035,
      "loc": {
        "start": {
          "line": 117,
          "column": 2
        },
        "end": {
          "line": 117,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "DeferrableType",
      "start": 3036,
      "end": 3050,
      "loc": {
        "start": {
          "line": 117,
          "column": 6
        },
        "end": {
          "line": 117,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3051,
      "end": 3052,
      "loc": {
        "start": {
          "line": 117,
          "column": 21
        },
        "end": {
          "line": 117,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Deferrable",
      "start": 3053,
      "end": 3063,
      "loc": {
        "start": {
          "line": 117,
          "column": 23
        },
        "end": {
          "line": 117,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3063,
      "end": 3064,
      "loc": {
        "start": {
          "line": 117,
          "column": 33
        },
        "end": {
          "line": 117,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 3064,
      "end": 3067,
      "loc": {
        "start": {
          "line": 117,
          "column": 34
        },
        "end": {
          "line": 117,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3067,
      "end": 3068,
      "loc": {
        "start": {
          "line": 117,
          "column": 37
        },
        "end": {
          "line": 117,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3068,
      "end": 3069,
      "loc": {
        "start": {
          "line": 117,
          "column": 38
        },
        "end": {
          "line": 117,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "DeferrableType",
      "start": 3073,
      "end": 3087,
      "loc": {
        "start": {
          "line": 119,
          "column": 2
        },
        "end": {
          "line": 119,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3087,
      "end": 3088,
      "loc": {
        "start": {
          "line": 119,
          "column": 16
        },
        "end": {
          "line": 119,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toString",
      "start": 3088,
      "end": 3096,
      "loc": {
        "start": {
          "line": 119,
          "column": 17
        },
        "end": {
          "line": 119,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3097,
      "end": 3098,
      "loc": {
        "start": {
          "line": 119,
          "column": 26
        },
        "end": {
          "line": 119,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 3099,
      "end": 3107,
      "loc": {
        "start": {
          "line": 119,
          "column": 28
        },
        "end": {
          "line": 119,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3107,
      "end": 3108,
      "loc": {
        "start": {
          "line": 119,
          "column": 36
        },
        "end": {
          "line": 119,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3108,
      "end": 3109,
      "loc": {
        "start": {
          "line": 119,
          "column": 37
        },
        "end": {
          "line": 119,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3110,
      "end": 3111,
      "loc": {
        "start": {
          "line": 119,
          "column": 39
        },
        "end": {
          "line": 119,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "var",
        "keyword": "var",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "var",
      "start": 3116,
      "end": 3119,
      "loc": {
        "start": {
          "line": 120,
          "column": 4
        },
        "end": {
          "line": 120,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "instance",
      "start": 3120,
      "end": 3128,
      "loc": {
        "start": {
          "line": 120,
          "column": 8
        },
        "end": {
          "line": 120,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3129,
      "end": 3130,
      "loc": {
        "start": {
          "line": 120,
          "column": 17
        },
        "end": {
          "line": 120,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 3131,
      "end": 3134,
      "loc": {
        "start": {
          "line": 120,
          "column": 19
        },
        "end": {
          "line": 120,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "DeferrableType",
      "start": 3135,
      "end": 3149,
      "loc": {
        "start": {
          "line": 120,
          "column": 23
        },
        "end": {
          "line": 120,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3149,
      "end": 3150,
      "loc": {
        "start": {
          "line": 120,
          "column": 37
        },
        "end": {
          "line": 120,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3150,
      "end": 3151,
      "loc": {
        "start": {
          "line": 120,
          "column": 38
        },
        "end": {
          "line": 120,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3151,
      "end": 3152,
      "loc": {
        "start": {
          "line": 120,
          "column": 39
        },
        "end": {
          "line": 120,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3157,
      "end": 3163,
      "loc": {
        "start": {
          "line": 121,
          "column": 4
        },
        "end": {
          "line": 121,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "instance",
      "start": 3164,
      "end": 3172,
      "loc": {
        "start": {
          "line": 121,
          "column": 11
        },
        "end": {
          "line": 121,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3172,
      "end": 3173,
      "loc": {
        "start": {
          "line": 121,
          "column": 19
        },
        "end": {
          "line": 121,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toString",
      "start": 3173,
      "end": 3181,
      "loc": {
        "start": {
          "line": 121,
          "column": 20
        },
        "end": {
          "line": 121,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3181,
      "end": 3182,
      "loc": {
        "start": {
          "line": 121,
          "column": 28
        },
        "end": {
          "line": 121,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "apply",
      "start": 3182,
      "end": 3187,
      "loc": {
        "start": {
          "line": 121,
          "column": 29
        },
        "end": {
          "line": 121,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3187,
      "end": 3188,
      "loc": {
        "start": {
          "line": 121,
          "column": 34
        },
        "end": {
          "line": 121,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "instance",
      "start": 3188,
      "end": 3196,
      "loc": {
        "start": {
          "line": 121,
          "column": 35
        },
        "end": {
          "line": 121,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3196,
      "end": 3197,
      "loc": {
        "start": {
          "line": 121,
          "column": 43
        },
        "end": {
          "line": 121,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "arguments",
      "start": 3198,
      "end": 3207,
      "loc": {
        "start": {
          "line": 121,
          "column": 45
        },
        "end": {
          "line": 121,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3207,
      "end": 3208,
      "loc": {
        "start": {
          "line": 121,
          "column": 54
        },
        "end": {
          "line": 121,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3208,
      "end": 3209,
      "loc": {
        "start": {
          "line": 121,
          "column": 55
        },
        "end": {
          "line": 121,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3212,
      "end": 3213,
      "loc": {
        "start": {
          "line": 122,
          "column": 2
        },
        "end": {
          "line": 122,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3213,
      "end": 3214,
      "loc": {
        "start": {
          "line": 122,
          "column": 3
        },
        "end": {
          "line": 122,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3215,
      "end": 3216,
      "loc": {
        "start": {
          "line": 123,
          "column": 0
        },
        "end": {
          "line": 123,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3216,
      "end": 3217,
      "loc": {
        "start": {
          "line": 123,
          "column": 1
        },
        "end": {
          "line": 123,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3217,
      "end": 3218,
      "loc": {
        "start": {
          "line": 123,
          "column": 2
        },
        "end": {
          "line": 123,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3219,
      "end": 3219,
      "loc": {
        "start": {
          "line": 124,
          "column": 0
        },
        "end": {
          "line": 124,
          "column": 0
        }
      }
    }
  ]
}