{
  "type": "File",
  "start": 0,
  "end": 2390,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 94,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 2390,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 94,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "VariableDeclaration",
        "start": 15,
        "end": 43,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 28
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 21,
            "end": 42,
            "loc": {
              "start": {
                "line": 3,
                "column": 6
              },
              "end": {
                "line": 3,
                "column": 27
              }
            },
            "id": {
              "type": "Identifier",
              "start": 21,
              "end": 22,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 6
                },
                "end": {
                  "line": 3,
                  "column": 7
                },
                "identifierName": "_"
              },
              "name": "_"
            },
            "init": {
              "type": "CallExpression",
              "start": 25,
              "end": 42,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 10
                },
                "end": {
                  "line": 3,
                  "column": 27
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 25,
                "end": 32,
                "loc": {
                  "start": {
                    "line": 3,
                    "column": 10
                  },
                  "end": {
                    "line": 3,
                    "column": 17
                  },
                  "identifierName": "require"
                },
                "name": "require"
              },
              "arguments": [
                {
                  "type": "StringLiteral",
                  "start": 33,
                  "end": 41,
                  "loc": {
                    "start": {
                      "line": 3,
                      "column": 18
                    },
                    "end": {
                      "line": 3,
                      "column": 26
                    }
                  },
                  "extra": {
                    "rawValue": "lodash",
                    "raw": "'lodash'"
                  },
                  "value": "lodash"
                }
              ]
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 44,
        "end": 96,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 52
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 50,
            "end": 95,
            "loc": {
              "start": {
                "line": 4,
                "column": 6
              },
              "end": {
                "line": 4,
                "column": 51
              }
            },
            "id": {
              "type": "Identifier",
              "start": 50,
              "end": 59,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 6
                },
                "end": {
                  "line": 4,
                  "column": 15
                },
                "identifierName": "validator"
              },
              "name": "validator"
            },
            "init": {
              "type": "CallExpression",
              "start": 62,
              "end": 95,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 18
                },
                "end": {
                  "line": 4,
                  "column": 51
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 62,
                "end": 73,
                "loc": {
                  "start": {
                    "line": 4,
                    "column": 18
                  },
                  "end": {
                    "line": 4,
                    "column": 29
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 62,
                  "end": 63,
                  "loc": {
                    "start": {
                      "line": 4,
                      "column": 18
                    },
                    "end": {
                      "line": 4,
                      "column": 19
                    },
                    "identifierName": "_"
                  },
                  "name": "_"
                },
                "property": {
                  "type": "Identifier",
                  "start": 64,
                  "end": 73,
                  "loc": {
                    "start": {
                      "line": 4,
                      "column": 20
                    },
                    "end": {
                      "line": 4,
                      "column": 29
                    },
                    "identifierName": "cloneDeep"
                  },
                  "name": "cloneDeep"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "CallExpression",
                  "start": 74,
                  "end": 94,
                  "loc": {
                    "start": {
                      "line": 4,
                      "column": 30
                    },
                    "end": {
                      "line": 4,
                      "column": 50
                    }
                  },
                  "callee": {
                    "type": "Identifier",
                    "start": 74,
                    "end": 81,
                    "loc": {
                      "start": {
                        "line": 4,
                        "column": 30
                      },
                      "end": {
                        "line": 4,
                        "column": 37
                      },
                      "identifierName": "require"
                    },
                    "name": "require"
                  },
                  "arguments": [
                    {
                      "type": "StringLiteral",
                      "start": 82,
                      "end": 93,
                      "loc": {
                        "start": {
                          "line": 4,
                          "column": 38
                        },
                        "end": {
                          "line": 4,
                          "column": 49
                        }
                      },
                      "extra": {
                        "rawValue": "validator",
                        "raw": "'validator'"
                      },
                      "value": "validator"
                    }
                  ]
                }
              ]
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 98,
        "end": 1486,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 63,
            "column": 2
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 104,
            "end": 1485,
            "loc": {
              "start": {
                "line": 6,
                "column": 6
              },
              "end": {
                "line": 63,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 104,
              "end": 114,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 6
                },
                "end": {
                  "line": 6,
                  "column": 16
                },
                "identifierName": "extensions"
              },
              "name": "extensions"
            },
            "init": {
              "type": "ObjectExpression",
              "start": 117,
              "end": 1485,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 19
                },
                "end": {
                  "line": 63,
                  "column": 1
                }
              },
              "properties": [
                {
                  "type": "ObjectMethod",
                  "start": 121,
                  "end": 182,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 2
                    },
                    "end": {
                      "line": 11,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 121,
                    "end": 127,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 2
                      },
                      "end": {
                        "line": 7,
                        "column": 8
                      },
                      "identifierName": "extend"
                    },
                    "name": "extend"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 128,
                      "end": 132,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 9
                        },
                        "end": {
                          "line": 7,
                          "column": 13
                        },
                        "identifierName": "name"
                      },
                      "name": "name"
                    },
                    {
                      "type": "Identifier",
                      "start": 134,
                      "end": 136,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 15
                        },
                        "end": {
                          "line": 7,
                          "column": 17
                        },
                        "identifierName": "fn"
                      },
                      "name": "fn"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 138,
                    "end": 182,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 19
                      },
                      "end": {
                        "line": 11,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ExpressionStatement",
                        "start": 144,
                        "end": 160,
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 4
                          },
                          "end": {
                            "line": 8,
                            "column": 20
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 144,
                          "end": 159,
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 4
                            },
                            "end": {
                              "line": 8,
                              "column": 19
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 144,
                            "end": 154,
                            "loc": {
                              "start": {
                                "line": 8,
                                "column": 4
                              },
                              "end": {
                                "line": 8,
                                "column": 14
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 144,
                              "end": 148,
                              "loc": {
                                "start": {
                                  "line": 8,
                                  "column": 4
                                },
                                "end": {
                                  "line": 8,
                                  "column": 8
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 149,
                              "end": 153,
                              "loc": {
                                "start": {
                                  "line": 8,
                                  "column": 9
                                },
                                "end": {
                                  "line": 8,
                                  "column": 13
                                },
                                "identifierName": "name"
                              },
                              "name": "name"
                            },
                            "computed": true
                          },
                          "right": {
                            "type": "Identifier",
                            "start": 157,
                            "end": 159,
                            "loc": {
                              "start": {
                                "line": 8,
                                "column": 17
                              },
                              "end": {
                                "line": 8,
                                "column": 19
                              },
                              "identifierName": "fn"
                            },
                            "name": "fn"
                          }
                        }
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 166,
                        "end": 178,
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 4
                          },
                          "end": {
                            "line": 10,
                            "column": 16
                          }
                        },
                        "argument": {
                          "type": "ThisExpression",
                          "start": 173,
                          "end": 177,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 11
                            },
                            "end": {
                              "line": 10,
                              "column": 15
                            }
                          }
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 186,
                  "end": 245,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 2
                    },
                    "end": {
                      "line": 14,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 186,
                    "end": 194,
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 2
                      },
                      "end": {
                        "line": 12,
                        "column": 10
                      },
                      "identifierName": "notEmpty"
                    },
                    "name": "notEmpty"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 195,
                      "end": 198,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 11
                        },
                        "end": {
                          "line": 12,
                          "column": 14
                        },
                        "identifierName": "str"
                      },
                      "name": "str"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 200,
                    "end": 245,
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 16
                      },
                      "end": {
                        "line": 14,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ReturnStatement",
                        "start": 206,
                        "end": 241,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 4
                          },
                          "end": {
                            "line": 13,
                            "column": 39
                          }
                        },
                        "argument": {
                          "type": "UnaryExpression",
                          "start": 213,
                          "end": 240,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 11
                            },
                            "end": {
                              "line": 13,
                              "column": 38
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "CallExpression",
                            "start": 214,
                            "end": 240,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 12
                              },
                              "end": {
                                "line": 13,
                                "column": 38
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 214,
                              "end": 223,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 12
                                },
                                "end": {
                                  "line": 13,
                                  "column": 21
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 214,
                                "end": 217,
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 15
                                  },
                                  "identifierName": "str"
                                },
                                "name": "str"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 218,
                                "end": 223,
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 21
                                  },
                                  "identifierName": "match"
                                },
                                "name": "match"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "RegExpLiteral",
                                "start": 224,
                                "end": 239,
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 37
                                  }
                                },
                                "extra": {
                                  "raw": "/^[\\s\\t\\r\\n]*$/"
                                },
                                "pattern": "^[\\s\\t\\r\\n]*$",
                                "flags": ""
                              }
                            ]
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 249,
                  "end": 314,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 2
                    },
                    "end": {
                      "line": 17,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 249,
                    "end": 252,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 2
                      },
                      "end": {
                        "line": 15,
                        "column": 5
                      },
                      "identifierName": "len"
                    },
                    "name": "len"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 253,
                      "end": 256,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 6
                        },
                        "end": {
                          "line": 15,
                          "column": 9
                        },
                        "identifierName": "str"
                      },
                      "name": "str"
                    },
                    {
                      "type": "Identifier",
                      "start": 258,
                      "end": 261,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 11
                        },
                        "end": {
                          "line": 15,
                          "column": 14
                        },
                        "identifierName": "min"
                      },
                      "name": "min"
                    },
                    {
                      "type": "Identifier",
                      "start": 263,
                      "end": 266,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 16
                        },
                        "end": {
                          "line": 15,
                          "column": 19
                        },
                        "identifierName": "max"
                      },
                      "name": "max"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 268,
                    "end": 314,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 21
                      },
                      "end": {
                        "line": 17,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ReturnStatement",
                        "start": 274,
                        "end": 310,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 4
                          },
                          "end": {
                            "line": 16,
                            "column": 40
                          }
                        },
                        "argument": {
                          "type": "CallExpression",
                          "start": 281,
                          "end": 309,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 11
                            },
                            "end": {
                              "line": 16,
                              "column": 39
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 281,
                            "end": 294,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 11
                              },
                              "end": {
                                "line": 16,
                                "column": 24
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 281,
                              "end": 285,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 11
                                },
                                "end": {
                                  "line": 16,
                                  "column": 15
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 286,
                              "end": 294,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 16
                                },
                                "end": {
                                  "line": 16,
                                  "column": 24
                                },
                                "identifierName": "isLength"
                              },
                              "name": "isLength"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 295,
                              "end": 298,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 25
                                },
                                "end": {
                                  "line": 16,
                                  "column": 28
                                },
                                "identifierName": "str"
                              },
                              "name": "str"
                            },
                            {
                              "type": "Identifier",
                              "start": 300,
                              "end": 303,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 30
                                },
                                "end": {
                                  "line": 16,
                                  "column": 33
                                },
                                "identifierName": "min"
                              },
                              "name": "min"
                            },
                            {
                              "type": "Identifier",
                              "start": 305,
                              "end": 308,
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 35
                                },
                                "end": {
                                  "line": 16,
                                  "column": 38
                                },
                                "identifierName": "max"
                              },
                              "name": "max"
                            }
                          ]
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 318,
                  "end": 362,
                  "loc": {
                    "start": {
                      "line": 18,
                      "column": 2
                    },
                    "end": {
                      "line": 20,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 318,
                    "end": 323,
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 2
                      },
                      "end": {
                        "line": 18,
                        "column": 7
                      },
                      "identifierName": "isUrl"
                    },
                    "name": "isUrl"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 324,
                      "end": 327,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 8
                        },
                        "end": {
                          "line": 18,
                          "column": 11
                        },
                        "identifierName": "str"
                      },
                      "name": "str"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 329,
                    "end": 362,
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 13
                      },
                      "end": {
                        "line": 20,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ReturnStatement",
                        "start": 335,
                        "end": 358,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 4
                          },
                          "end": {
                            "line": 19,
                            "column": 27
                          }
                        },
                        "argument": {
                          "type": "CallExpression",
                          "start": 342,
                          "end": 357,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 11
                            },
                            "end": {
                              "line": 19,
                              "column": 26
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 342,
                            "end": 352,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 11
                              },
                              "end": {
                                "line": 19,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 342,
                              "end": 346,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 11
                                },
                                "end": {
                                  "line": 19,
                                  "column": 15
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 347,
                              "end": 352,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 16
                                },
                                "end": {
                                  "line": 19,
                                  "column": 21
                                },
                                "identifierName": "isURL"
                              },
                              "name": "isURL"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 353,
                              "end": 356,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 22
                                },
                                "end": {
                                  "line": 19,
                                  "column": 25
                                },
                                "identifierName": "str"
                              },
                              "name": "str"
                            }
                          ]
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 366,
                  "end": 413,
                  "loc": {
                    "start": {
                      "line": 21,
                      "column": 2
                    },
                    "end": {
                      "line": 23,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 366,
                    "end": 372,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 2
                      },
                      "end": {
                        "line": 21,
                        "column": 8
                      },
                      "identifierName": "isIPv6"
                    },
                    "name": "isIPv6"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 373,
                      "end": 376,
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 9
                        },
                        "end": {
                          "line": 21,
                          "column": 12
                        },
                        "identifierName": "str"
                      },
                      "name": "str"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 378,
                    "end": 413,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 14
                      },
                      "end": {
                        "line": 23,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ReturnStatement",
                        "start": 384,
                        "end": 409,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 4
                          },
                          "end": {
                            "line": 22,
                            "column": 29
                          }
                        },
                        "argument": {
                          "type": "CallExpression",
                          "start": 391,
                          "end": 408,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 11
                            },
                            "end": {
                              "line": 22,
                              "column": 28
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 391,
                            "end": 400,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 11
                              },
                              "end": {
                                "line": 22,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 391,
                              "end": 395,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 11
                                },
                                "end": {
                                  "line": 22,
                                  "column": 15
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 396,
                              "end": 400,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 16
                                },
                                "end": {
                                  "line": 22,
                                  "column": 20
                                },
                                "identifierName": "isIP"
                              },
                              "name": "isIP"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 401,
                              "end": 404,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 21
                                },
                                "end": {
                                  "line": 22,
                                  "column": 24
                                },
                                "identifierName": "str"
                              },
                              "name": "str"
                            },
                            {
                              "type": "NumericLiteral",
                              "start": 406,
                              "end": 407,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 26
                                },
                                "end": {
                                  "line": 22,
                                  "column": 27
                                }
                              },
                              "extra": {
                                "rawValue": 6,
                                "raw": "6"
                              },
                              "value": 6
                            }
                          ]
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 417,
                  "end": 464,
                  "loc": {
                    "start": {
                      "line": 24,
                      "column": 2
                    },
                    "end": {
                      "line": 26,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 417,
                    "end": 423,
                    "loc": {
                      "start": {
                        "line": 24,
                        "column": 2
                      },
                      "end": {
                        "line": 24,
                        "column": 8
                      },
                      "identifierName": "isIPv4"
                    },
                    "name": "isIPv4"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 424,
                      "end": 427,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 9
                        },
                        "end": {
                          "line": 24,
                          "column": 12
                        },
                        "identifierName": "str"
                      },
                      "name": "str"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 429,
                    "end": 464,
                    "loc": {
                      "start": {
                        "line": 24,
                        "column": 14
                      },
                      "end": {
                        "line": 26,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ReturnStatement",
                        "start": 435,
                        "end": 460,
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 4
                          },
                          "end": {
                            "line": 25,
                            "column": 29
                          }
                        },
                        "argument": {
                          "type": "CallExpression",
                          "start": 442,
                          "end": 459,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 11
                            },
                            "end": {
                              "line": 25,
                              "column": 28
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 442,
                            "end": 451,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 11
                              },
                              "end": {
                                "line": 25,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 442,
                              "end": 446,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 11
                                },
                                "end": {
                                  "line": 25,
                                  "column": 15
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 447,
                              "end": 451,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 16
                                },
                                "end": {
                                  "line": 25,
                                  "column": 20
                                },
                                "identifierName": "isIP"
                              },
                              "name": "isIP"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 452,
                              "end": 455,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 21
                                },
                                "end": {
                                  "line": 25,
                                  "column": 24
                                },
                                "identifierName": "str"
                              },
                              "name": "str"
                            },
                            {
                              "type": "NumericLiteral",
                              "start": 457,
                              "end": 458,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 26
                                },
                                "end": {
                                  "line": 25,
                                  "column": 27
                                }
                              },
                              "extra": {
                                "rawValue": 4,
                                "raw": "4"
                              },
                              "value": 4
                            }
                          ]
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 468,
                  "end": 528,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 2
                    },
                    "end": {
                      "line": 29,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 468,
                    "end": 473,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 2
                      },
                      "end": {
                        "line": 27,
                        "column": 7
                      },
                      "identifierName": "notIn"
                    },
                    "name": "notIn"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 474,
                      "end": 477,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 8
                        },
                        "end": {
                          "line": 27,
                          "column": 11
                        },
                        "identifierName": "str"
                      },
                      "name": "str"
                    },
                    {
                      "type": "Identifier",
                      "start": 479,
                      "end": 485,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 13
                        },
                        "end": {
                          "line": 27,
                          "column": 19
                        },
                        "identifierName": "values"
                      },
                      "name": "values"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 487,
                    "end": 528,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 21
                      },
                      "end": {
                        "line": 29,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ReturnStatement",
                        "start": 493,
                        "end": 524,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 4
                          },
                          "end": {
                            "line": 28,
                            "column": 35
                          }
                        },
                        "argument": {
                          "type": "UnaryExpression",
                          "start": 500,
                          "end": 523,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 11
                            },
                            "end": {
                              "line": 28,
                              "column": 34
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "CallExpression",
                            "start": 501,
                            "end": 523,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 12
                              },
                              "end": {
                                "line": 28,
                                "column": 34
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 501,
                              "end": 510,
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 12
                                },
                                "end": {
                                  "line": 28,
                                  "column": 21
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 501,
                                "end": 505,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 506,
                                "end": 510,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 21
                                  },
                                  "identifierName": "isIn"
                                },
                                "name": "isIn"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 511,
                                "end": 514,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 25
                                  },
                                  "identifierName": "str"
                                },
                                "name": "str"
                              },
                              {
                                "type": "Identifier",
                                "start": 516,
                                "end": 522,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 33
                                  },
                                  "identifierName": "values"
                                },
                                "name": "values"
                              }
                            ]
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 532,
                  "end": 745,
                  "loc": {
                    "start": {
                      "line": 30,
                      "column": 2
                    },
                    "end": {
                      "line": 36,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 532,
                    "end": 537,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 2
                      },
                      "end": {
                        "line": 30,
                        "column": 7
                      },
                      "identifierName": "regex"
                    },
                    "name": "regex"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 538,
                      "end": 541,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 8
                        },
                        "end": {
                          "line": 30,
                          "column": 11
                        },
                        "identifierName": "str"
                      },
                      "name": "str"
                    },
                    {
                      "type": "Identifier",
                      "start": 543,
                      "end": 550,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 13
                        },
                        "end": {
                          "line": 30,
                          "column": 20
                        },
                        "identifierName": "pattern"
                      },
                      "name": "pattern"
                    },
                    {
                      "type": "Identifier",
                      "start": 552,
                      "end": 561,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 22
                        },
                        "end": {
                          "line": 30,
                          "column": 31
                        },
                        "identifierName": "modifiers"
                      },
                      "name": "modifiers"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 563,
                    "end": 745,
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 33
                      },
                      "end": {
                        "line": 36,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ExpressionStatement",
                        "start": 569,
                        "end": 579,
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 4
                          },
                          "end": {
                            "line": 31,
                            "column": 14
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 569,
                          "end": 578,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 4
                            },
                            "end": {
                              "line": 31,
                              "column": 13
                            }
                          },
                          "operator": "+=",
                          "left": {
                            "type": "Identifier",
                            "start": 569,
                            "end": 572,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 4
                              },
                              "end": {
                                "line": 31,
                                "column": 7
                              },
                              "identifierName": "str"
                            },
                            "name": "str"
                          },
                          "right": {
                            "type": "StringLiteral",
                            "start": 576,
                            "end": 578,
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 11
                              },
                              "end": {
                                "line": 31,
                                "column": 13
                              }
                            },
                            "extra": {
                              "rawValue": "",
                              "raw": "''"
                            },
                            "value": ""
                          }
                        }
                      },
                      {
                        "type": "IfStatement",
                        "start": 584,
                        "end": 710,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 4
                          },
                          "end": {
                            "line": 34,
                            "column": 5
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 588,
                          "end": 653,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 8
                            },
                            "end": {
                              "line": 32,
                              "column": 73
                            }
                          },
                          "left": {
                            "type": "CallExpression",
                            "start": 588,
                            "end": 640,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 8
                              },
                              "end": {
                                "line": 32,
                                "column": 60
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 588,
                              "end": 633,
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 8
                                },
                                "end": {
                                  "line": 32,
                                  "column": 53
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 588,
                                "end": 627,
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 588,
                                  "end": 618,
                                  "loc": {
                                    "start": {
                                      "line": 32,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 32,
                                      "column": 38
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 588,
                                    "end": 613,
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 32,
                                        "column": 33
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 588,
                                      "end": 604,
                                      "loc": {
                                        "start": {
                                          "line": 32,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 32,
                                          "column": 24
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 588,
                                        "end": 594,
                                        "loc": {
                                          "start": {
                                            "line": 32,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 32,
                                            "column": 14
                                          },
                                          "identifierName": "Object"
                                        },
                                        "name": "Object"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 595,
                                        "end": 604,
                                        "loc": {
                                          "start": {
                                            "line": 32,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 32,
                                            "column": 24
                                          },
                                          "identifierName": "prototype"
                                        },
                                        "name": "prototype"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 605,
                                      "end": 613,
                                      "loc": {
                                        "start": {
                                          "line": 32,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 32,
                                          "column": 33
                                        },
                                        "identifierName": "toString"
                                      },
                                      "name": "toString"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 614,
                                    "end": 618,
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 32,
                                        "column": 38
                                      },
                                      "identifierName": "call"
                                    },
                                    "name": "call"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 619,
                                    "end": 626,
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 32,
                                        "column": 46
                                      },
                                      "identifierName": "pattern"
                                    },
                                    "name": "pattern"
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 628,
                                "end": 633,
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 53
                                  },
                                  "identifierName": "slice"
                                },
                                "name": "slice"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "NumericLiteral",
                                "start": 634,
                                "end": 635,
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 55
                                  }
                                },
                                "extra": {
                                  "rawValue": 8,
                                  "raw": "8"
                                },
                                "value": 8
                              },
                              {
                                "type": "UnaryExpression",
                                "start": 637,
                                "end": 639,
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 59
                                  }
                                },
                                "operator": "-",
                                "prefix": true,
                                "argument": {
                                  "type": "NumericLiteral",
                                  "start": 638,
                                  "end": 639,
                                  "loc": {
                                    "start": {
                                      "line": 32,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 32,
                                      "column": 59
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "value": 1
                                },
                                "extra": {
                                  "parenthesizedArgument": false
                                }
                              }
                            ]
                          },
                          "operator": "!==",
                          "right": {
                            "type": "StringLiteral",
                            "start": 645,
                            "end": 653,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 65
                              },
                              "end": {
                                "line": 32,
                                "column": 73
                              }
                            },
                            "extra": {
                              "rawValue": "RegExp",
                              "raw": "'RegExp'"
                            },
                            "value": "RegExp"
                          }
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 655,
                          "end": 710,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 75
                            },
                            "end": {
                              "line": 34,
                              "column": 5
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 663,
                              "end": 704,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 6
                                },
                                "end": {
                                  "line": 33,
                                  "column": 47
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 663,
                                "end": 703,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 46
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 663,
                                  "end": 670,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 13
                                    },
                                    "identifierName": "pattern"
                                  },
                                  "name": "pattern"
                                },
                                "right": {
                                  "type": "NewExpression",
                                  "start": 673,
                                  "end": 703,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 46
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 677,
                                    "end": 683,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 26
                                      },
                                      "identifierName": "RegExp"
                                    },
                                    "name": "RegExp"
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 684,
                                      "end": 691,
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 34
                                        },
                                        "identifierName": "pattern"
                                      },
                                      "name": "pattern"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 693,
                                      "end": 702,
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 45
                                        },
                                        "identifierName": "modifiers"
                                      },
                                      "name": "modifiers"
                                    }
                                  ]
                                }
                              }
                            }
                          ],
                          "directives": []
                        },
                        "alternate": null
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 715,
                        "end": 741,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 4
                          },
                          "end": {
                            "line": 35,
                            "column": 30
                          }
                        },
                        "argument": {
                          "type": "CallExpression",
                          "start": 722,
                          "end": 740,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 11
                            },
                            "end": {
                              "line": 35,
                              "column": 29
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 722,
                            "end": 731,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 11
                              },
                              "end": {
                                "line": 35,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 722,
                              "end": 725,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 11
                                },
                                "end": {
                                  "line": 35,
                                  "column": 14
                                },
                                "identifierName": "str"
                              },
                              "name": "str"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 726,
                              "end": 731,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 15
                                },
                                "end": {
                                  "line": 35,
                                  "column": 20
                                },
                                "identifierName": "match"
                              },
                              "name": "match"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 732,
                              "end": 739,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 21
                                },
                                "end": {
                                  "line": 35,
                                  "column": 28
                                },
                                "identifierName": "pattern"
                              },
                              "name": "pattern"
                            }
                          ]
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 749,
                  "end": 837,
                  "loc": {
                    "start": {
                      "line": 37,
                      "column": 2
                    },
                    "end": {
                      "line": 39,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 749,
                    "end": 757,
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 2
                      },
                      "end": {
                        "line": 37,
                        "column": 10
                      },
                      "identifierName": "notRegex"
                    },
                    "name": "notRegex"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 758,
                      "end": 761,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 11
                        },
                        "end": {
                          "line": 37,
                          "column": 14
                        },
                        "identifierName": "str"
                      },
                      "name": "str"
                    },
                    {
                      "type": "Identifier",
                      "start": 763,
                      "end": 770,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 16
                        },
                        "end": {
                          "line": 37,
                          "column": 23
                        },
                        "identifierName": "pattern"
                      },
                      "name": "pattern"
                    },
                    {
                      "type": "Identifier",
                      "start": 772,
                      "end": 781,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 25
                        },
                        "end": {
                          "line": 37,
                          "column": 34
                        },
                        "identifierName": "modifiers"
                      },
                      "name": "modifiers"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 783,
                    "end": 837,
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 36
                      },
                      "end": {
                        "line": 39,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ReturnStatement",
                        "start": 789,
                        "end": 833,
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 4
                          },
                          "end": {
                            "line": 38,
                            "column": 48
                          }
                        },
                        "argument": {
                          "type": "UnaryExpression",
                          "start": 796,
                          "end": 832,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 11
                            },
                            "end": {
                              "line": 38,
                              "column": 47
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "CallExpression",
                            "start": 797,
                            "end": 832,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 12
                              },
                              "end": {
                                "line": 38,
                                "column": 47
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 797,
                              "end": 807,
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 12
                                },
                                "end": {
                                  "line": 38,
                                  "column": 22
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 797,
                                "end": 801,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 802,
                                "end": 807,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 22
                                  },
                                  "identifierName": "regex"
                                },
                                "name": "regex"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 808,
                                "end": 811,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 26
                                  },
                                  "identifierName": "str"
                                },
                                "name": "str"
                              },
                              {
                                "type": "Identifier",
                                "start": 813,
                                "end": 820,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 35
                                  },
                                  "identifierName": "pattern"
                                },
                                "name": "pattern"
                              },
                              {
                                "type": "Identifier",
                                "start": 822,
                                "end": 831,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 46
                                  },
                                  "identifierName": "modifiers"
                                },
                                "name": "modifiers"
                              }
                            ]
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 841,
                  "end": 961,
                  "loc": {
                    "start": {
                      "line": 40,
                      "column": 2
                    },
                    "end": {
                      "line": 42,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 841,
                    "end": 850,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 2
                      },
                      "end": {
                        "line": 40,
                        "column": 11
                      },
                      "identifierName": "isDecimal"
                    },
                    "name": "isDecimal"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 851,
                      "end": 854,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 12
                        },
                        "end": {
                          "line": 40,
                          "column": 15
                        },
                        "identifierName": "str"
                      },
                      "name": "str"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 856,
                    "end": 961,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 17
                      },
                      "end": {
                        "line": 42,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ReturnStatement",
                        "start": 862,
                        "end": 957,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 4
                          },
                          "end": {
                            "line": 41,
                            "column": 99
                          }
                        },
                        "argument": {
                          "type": "LogicalExpression",
                          "start": 869,
                          "end": 956,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 11
                            },
                            "end": {
                              "line": 41,
                              "column": 98
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 869,
                            "end": 879,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 11
                              },
                              "end": {
                                "line": 41,
                                "column": 21
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 869,
                              "end": 872,
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 11
                                },
                                "end": {
                                  "line": 41,
                                  "column": 14
                                },
                                "identifierName": "str"
                              },
                              "name": "str"
                            },
                            "operator": "!==",
                            "right": {
                              "type": "StringLiteral",
                              "start": 877,
                              "end": 879,
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 19
                                },
                                "end": {
                                  "line": 41,
                                  "column": 21
                                }
                              },
                              "extra": {
                                "rawValue": "",
                                "raw": "''"
                              },
                              "value": ""
                            }
                          },
                          "operator": "&&",
                          "right": {
                            "type": "UnaryExpression",
                            "start": 883,
                            "end": 956,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 25
                              },
                              "end": {
                                "line": 41,
                                "column": 98
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "UnaryExpression",
                              "start": 884,
                              "end": 956,
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 26
                                },
                                "end": {
                                  "line": 41,
                                  "column": 98
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "CallExpression",
                                "start": 885,
                                "end": 956,
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 98
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 885,
                                  "end": 894,
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 885,
                                    "end": 888,
                                    "loc": {
                                      "start": {
                                        "line": 41,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 41,
                                        "column": 30
                                      },
                                      "identifierName": "str"
                                    },
                                    "name": "str"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 889,
                                    "end": 894,
                                    "loc": {
                                      "start": {
                                        "line": 41,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 41,
                                        "column": 36
                                      },
                                      "identifierName": "match"
                                    },
                                    "name": "match"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "RegExpLiteral",
                                    "start": 895,
                                    "end": 955,
                                    "loc": {
                                      "start": {
                                        "line": 41,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 41,
                                        "column": 97
                                      }
                                    },
                                    "extra": {
                                      "raw": "/^(?:-?(?:[0-9]+))?(?:\\.[0-9]*)?(?:[eE][\\+\\-]?(?:[0-9]+))?$/"
                                    },
                                    "pattern": "^(?:-?(?:[0-9]+))?(?:\\.[0-9]*)?(?:[eE][\\+\\-]?(?:[0-9]+))?$",
                                    "flags": ""
                                  }
                                ]
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              }
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            }
                          }
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 965,
                  "end": 1063,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 2
                    },
                    "end": {
                      "line": 46,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 965,
                    "end": 968,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 2
                      },
                      "end": {
                        "line": 43,
                        "column": 5
                      },
                      "identifierName": "min"
                    },
                    "name": "min"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 969,
                      "end": 972,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 6
                        },
                        "end": {
                          "line": 43,
                          "column": 9
                        },
                        "identifierName": "str"
                      },
                      "name": "str"
                    },
                    {
                      "type": "Identifier",
                      "start": 974,
                      "end": 977,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 11
                        },
                        "end": {
                          "line": 43,
                          "column": 14
                        },
                        "identifierName": "val"
                      },
                      "name": "val"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 979,
                    "end": 1063,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 16
                      },
                      "end": {
                        "line": 46,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "VariableDeclaration",
                        "start": 985,
                        "end": 1016,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 4
                          },
                          "end": {
                            "line": 44,
                            "column": 35
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 991,
                            "end": 1015,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 10
                              },
                              "end": {
                                "line": 44,
                                "column": 34
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 991,
                              "end": 997,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 10
                                },
                                "end": {
                                  "line": 44,
                                  "column": 16
                                },
                                "identifierName": "number"
                              },
                              "name": "number"
                            },
                            "init": {
                              "type": "CallExpression",
                              "start": 1000,
                              "end": 1015,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 19
                                },
                                "end": {
                                  "line": 44,
                                  "column": 34
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 1000,
                                "end": 1010,
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 29
                                  },
                                  "identifierName": "parseFloat"
                                },
                                "name": "parseFloat"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 1011,
                                  "end": 1014,
                                  "loc": {
                                    "start": {
                                      "line": 44,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 44,
                                      "column": 33
                                    },
                                    "identifierName": "str"
                                  },
                                  "name": "str"
                                }
                              ]
                            }
                          }
                        ],
                        "kind": "const"
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 1021,
                        "end": 1059,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 4
                          },
                          "end": {
                            "line": 45,
                            "column": 42
                          }
                        },
                        "argument": {
                          "type": "LogicalExpression",
                          "start": 1028,
                          "end": 1058,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 11
                            },
                            "end": {
                              "line": 45,
                              "column": 41
                            }
                          },
                          "left": {
                            "type": "CallExpression",
                            "start": 1028,
                            "end": 1041,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 11
                              },
                              "end": {
                                "line": 45,
                                "column": 24
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1028,
                              "end": 1033,
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 11
                                },
                                "end": {
                                  "line": 45,
                                  "column": 16
                                },
                                "identifierName": "isNaN"
                              },
                              "name": "isNaN"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1034,
                                "end": 1040,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 23
                                  },
                                  "identifierName": "number"
                                },
                                "name": "number"
                              }
                            ]
                          },
                          "operator": "||",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 1045,
                            "end": 1058,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 28
                              },
                              "end": {
                                "line": 45,
                                "column": 41
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 1045,
                              "end": 1051,
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 28
                                },
                                "end": {
                                  "line": 45,
                                  "column": 34
                                },
                                "identifierName": "number"
                              },
                              "name": "number"
                            },
                            "operator": ">=",
                            "right": {
                              "type": "Identifier",
                              "start": 1055,
                              "end": 1058,
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 38
                                },
                                "end": {
                                  "line": 45,
                                  "column": 41
                                },
                                "identifierName": "val"
                              },
                              "name": "val"
                            }
                          }
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 1067,
                  "end": 1165,
                  "loc": {
                    "start": {
                      "line": 47,
                      "column": 2
                    },
                    "end": {
                      "line": 50,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1067,
                    "end": 1070,
                    "loc": {
                      "start": {
                        "line": 47,
                        "column": 2
                      },
                      "end": {
                        "line": 47,
                        "column": 5
                      },
                      "identifierName": "max"
                    },
                    "name": "max"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 1071,
                      "end": 1074,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 6
                        },
                        "end": {
                          "line": 47,
                          "column": 9
                        },
                        "identifierName": "str"
                      },
                      "name": "str"
                    },
                    {
                      "type": "Identifier",
                      "start": 1076,
                      "end": 1079,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 11
                        },
                        "end": {
                          "line": 47,
                          "column": 14
                        },
                        "identifierName": "val"
                      },
                      "name": "val"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 1081,
                    "end": 1165,
                    "loc": {
                      "start": {
                        "line": 47,
                        "column": 16
                      },
                      "end": {
                        "line": 50,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "VariableDeclaration",
                        "start": 1087,
                        "end": 1118,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 4
                          },
                          "end": {
                            "line": 48,
                            "column": 35
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 1093,
                            "end": 1117,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 10
                              },
                              "end": {
                                "line": 48,
                                "column": 34
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 1093,
                              "end": 1099,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 10
                                },
                                "end": {
                                  "line": 48,
                                  "column": 16
                                },
                                "identifierName": "number"
                              },
                              "name": "number"
                            },
                            "init": {
                              "type": "CallExpression",
                              "start": 1102,
                              "end": 1117,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 19
                                },
                                "end": {
                                  "line": 48,
                                  "column": 34
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 1102,
                                "end": 1112,
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 29
                                  },
                                  "identifierName": "parseFloat"
                                },
                                "name": "parseFloat"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 1113,
                                  "end": 1116,
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 33
                                    },
                                    "identifierName": "str"
                                  },
                                  "name": "str"
                                }
                              ]
                            }
                          }
                        ],
                        "kind": "const"
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 1123,
                        "end": 1161,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 4
                          },
                          "end": {
                            "line": 49,
                            "column": 42
                          }
                        },
                        "argument": {
                          "type": "LogicalExpression",
                          "start": 1130,
                          "end": 1160,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 11
                            },
                            "end": {
                              "line": 49,
                              "column": 41
                            }
                          },
                          "left": {
                            "type": "CallExpression",
                            "start": 1130,
                            "end": 1143,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 11
                              },
                              "end": {
                                "line": 49,
                                "column": 24
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1130,
                              "end": 1135,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 11
                                },
                                "end": {
                                  "line": 49,
                                  "column": 16
                                },
                                "identifierName": "isNaN"
                              },
                              "name": "isNaN"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1136,
                                "end": 1142,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 23
                                  },
                                  "identifierName": "number"
                                },
                                "name": "number"
                              }
                            ]
                          },
                          "operator": "||",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 1147,
                            "end": 1160,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 28
                              },
                              "end": {
                                "line": 49,
                                "column": 41
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 1147,
                              "end": 1153,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 28
                                },
                                "end": {
                                  "line": 49,
                                  "column": 34
                                },
                                "identifierName": "number"
                              },
                              "name": "number"
                            },
                            "operator": "<=",
                            "right": {
                              "type": "Identifier",
                              "start": 1157,
                              "end": 1160,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 38
                                },
                                "end": {
                                  "line": 49,
                                  "column": 41
                                },
                                "identifierName": "val"
                              },
                              "name": "val"
                            }
                          }
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 1169,
                  "end": 1254,
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 2
                    },
                    "end": {
                      "line": 53,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1169,
                    "end": 1172,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 2
                      },
                      "end": {
                        "line": 51,
                        "column": 5
                      },
                      "identifierName": "not"
                    },
                    "name": "not"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 1173,
                      "end": 1176,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 6
                        },
                        "end": {
                          "line": 51,
                          "column": 9
                        },
                        "identifierName": "str"
                      },
                      "name": "str"
                    },
                    {
                      "type": "Identifier",
                      "start": 1178,
                      "end": 1185,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 11
                        },
                        "end": {
                          "line": 51,
                          "column": 18
                        },
                        "identifierName": "pattern"
                      },
                      "name": "pattern"
                    },
                    {
                      "type": "Identifier",
                      "start": 1187,
                      "end": 1196,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 20
                        },
                        "end": {
                          "line": 51,
                          "column": 29
                        },
                        "identifierName": "modifiers"
                      },
                      "name": "modifiers"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 1198,
                    "end": 1254,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 31
                      },
                      "end": {
                        "line": 53,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ReturnStatement",
                        "start": 1204,
                        "end": 1250,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 4
                          },
                          "end": {
                            "line": 52,
                            "column": 50
                          }
                        },
                        "argument": {
                          "type": "CallExpression",
                          "start": 1211,
                          "end": 1249,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 11
                            },
                            "end": {
                              "line": 52,
                              "column": 49
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1211,
                            "end": 1224,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 11
                              },
                              "end": {
                                "line": 52,
                                "column": 24
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1211,
                              "end": 1215,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 11
                                },
                                "end": {
                                  "line": 52,
                                  "column": 15
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1216,
                              "end": 1224,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 16
                                },
                                "end": {
                                  "line": 52,
                                  "column": 24
                                },
                                "identifierName": "notRegex"
                              },
                              "name": "notRegex"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1225,
                              "end": 1228,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 25
                                },
                                "end": {
                                  "line": 52,
                                  "column": 28
                                },
                                "identifierName": "str"
                              },
                              "name": "str"
                            },
                            {
                              "type": "Identifier",
                              "start": 1230,
                              "end": 1237,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 30
                                },
                                "end": {
                                  "line": 52,
                                  "column": 37
                                },
                                "identifierName": "pattern"
                              },
                              "name": "pattern"
                            },
                            {
                              "type": "Identifier",
                              "start": 1239,
                              "end": 1248,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 39
                                },
                                "end": {
                                  "line": 52,
                                  "column": 48
                                },
                                "identifierName": "modifiers"
                              },
                              "name": "modifiers"
                            }
                          ]
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 1258,
                  "end": 1328,
                  "loc": {
                    "start": {
                      "line": 54,
                      "column": 2
                    },
                    "end": {
                      "line": 56,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1258,
                    "end": 1266,
                    "loc": {
                      "start": {
                        "line": 54,
                        "column": 2
                      },
                      "end": {
                        "line": 54,
                        "column": 10
                      },
                      "identifierName": "contains"
                    },
                    "name": "contains"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 1267,
                      "end": 1270,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 11
                        },
                        "end": {
                          "line": 54,
                          "column": 14
                        },
                        "identifierName": "str"
                      },
                      "name": "str"
                    },
                    {
                      "type": "Identifier",
                      "start": 1272,
                      "end": 1276,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 16
                        },
                        "end": {
                          "line": 54,
                          "column": 20
                        },
                        "identifierName": "elem"
                      },
                      "name": "elem"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 1278,
                    "end": 1328,
                    "loc": {
                      "start": {
                        "line": 54,
                        "column": 22
                      },
                      "end": {
                        "line": 56,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ReturnStatement",
                        "start": 1284,
                        "end": 1324,
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 4
                          },
                          "end": {
                            "line": 55,
                            "column": 44
                          }
                        },
                        "argument": {
                          "type": "LogicalExpression",
                          "start": 1291,
                          "end": 1323,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 11
                            },
                            "end": {
                              "line": 55,
                              "column": 43
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 1291,
                            "end": 1313,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 11
                              },
                              "end": {
                                "line": 55,
                                "column": 33
                              }
                            },
                            "left": {
                              "type": "CallExpression",
                              "start": 1291,
                              "end": 1308,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 11
                                },
                                "end": {
                                  "line": 55,
                                  "column": 28
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1291,
                                "end": 1302,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1291,
                                  "end": 1294,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 14
                                    },
                                    "identifierName": "str"
                                  },
                                  "name": "str"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1295,
                                  "end": 1302,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 22
                                    },
                                    "identifierName": "indexOf"
                                  },
                                  "name": "indexOf"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 1303,
                                  "end": 1307,
                                  "loc": {
                                    "start": {
                                      "line": 55,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 27
                                    },
                                    "identifierName": "elem"
                                  },
                                  "name": "elem"
                                }
                              ]
                            },
                            "operator": ">=",
                            "right": {
                              "type": "NumericLiteral",
                              "start": 1312,
                              "end": 1313,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 32
                                },
                                "end": {
                                  "line": 55,
                                  "column": 33
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            }
                          },
                          "operator": "&&",
                          "right": {
                            "type": "UnaryExpression",
                            "start": 1317,
                            "end": 1323,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 37
                              },
                              "end": {
                                "line": 55,
                                "column": 43
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "UnaryExpression",
                              "start": 1318,
                              "end": 1323,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 38
                                },
                                "end": {
                                  "line": 55,
                                  "column": 43
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "Identifier",
                                "start": 1319,
                                "end": 1323,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 43
                                  },
                                  "identifierName": "elem"
                                },
                                "name": "elem"
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              }
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            }
                          }
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 1332,
                  "end": 1398,
                  "loc": {
                    "start": {
                      "line": 57,
                      "column": 2
                    },
                    "end": {
                      "line": 59,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1332,
                    "end": 1343,
                    "loc": {
                      "start": {
                        "line": 57,
                        "column": 2
                      },
                      "end": {
                        "line": 57,
                        "column": 13
                      },
                      "identifierName": "notContains"
                    },
                    "name": "notContains"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 1344,
                      "end": 1347,
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 14
                        },
                        "end": {
                          "line": 57,
                          "column": 17
                        },
                        "identifierName": "str"
                      },
                      "name": "str"
                    },
                    {
                      "type": "Identifier",
                      "start": 1349,
                      "end": 1353,
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 19
                        },
                        "end": {
                          "line": 57,
                          "column": 23
                        },
                        "identifierName": "elem"
                      },
                      "name": "elem"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 1355,
                    "end": 1398,
                    "loc": {
                      "start": {
                        "line": 57,
                        "column": 25
                      },
                      "end": {
                        "line": 59,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ReturnStatement",
                        "start": 1361,
                        "end": 1394,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 4
                          },
                          "end": {
                            "line": 58,
                            "column": 37
                          }
                        },
                        "argument": {
                          "type": "UnaryExpression",
                          "start": 1368,
                          "end": 1393,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 11
                            },
                            "end": {
                              "line": 58,
                              "column": 36
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "CallExpression",
                            "start": 1369,
                            "end": 1393,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 12
                              },
                              "end": {
                                "line": 58,
                                "column": 36
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1369,
                              "end": 1382,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 12
                                },
                                "end": {
                                  "line": 58,
                                  "column": 25
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1369,
                                "end": 1373,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1374,
                                "end": 1382,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 25
                                  },
                                  "identifierName": "contains"
                                },
                                "name": "contains"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1383,
                                "end": 1386,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 29
                                  },
                                  "identifierName": "str"
                                },
                                "name": "str"
                              },
                              {
                                "type": "Identifier",
                                "start": 1388,
                                "end": 1392,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 35
                                  },
                                  "identifierName": "elem"
                                },
                                "name": "elem"
                              }
                            ]
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        }
                      }
                    ],
                    "directives": []
                  }
                },
                {
                  "type": "ObjectMethod",
                  "start": 1402,
                  "end": 1483,
                  "loc": {
                    "start": {
                      "line": 60,
                      "column": 2
                    },
                    "end": {
                      "line": 62,
                      "column": 3
                    }
                  },
                  "method": true,
                  "shorthand": false,
                  "computed": false,
                  "key": {
                    "type": "Identifier",
                    "start": 1402,
                    "end": 1404,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 2
                      },
                      "end": {
                        "line": 60,
                        "column": 4
                      },
                      "identifierName": "is"
                    },
                    "name": "is"
                  },
                  "kind": "method",
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 1405,
                      "end": 1408,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 5
                        },
                        "end": {
                          "line": 60,
                          "column": 8
                        },
                        "identifierName": "str"
                      },
                      "name": "str"
                    },
                    {
                      "type": "Identifier",
                      "start": 1410,
                      "end": 1417,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 10
                        },
                        "end": {
                          "line": 60,
                          "column": 17
                        },
                        "identifierName": "pattern"
                      },
                      "name": "pattern"
                    },
                    {
                      "type": "Identifier",
                      "start": 1419,
                      "end": 1428,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 19
                        },
                        "end": {
                          "line": 60,
                          "column": 28
                        },
                        "identifierName": "modifiers"
                      },
                      "name": "modifiers"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 1430,
                    "end": 1483,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 30
                      },
                      "end": {
                        "line": 62,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ReturnStatement",
                        "start": 1436,
                        "end": 1479,
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 4
                          },
                          "end": {
                            "line": 61,
                            "column": 47
                          }
                        },
                        "argument": {
                          "type": "CallExpression",
                          "start": 1443,
                          "end": 1478,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 11
                            },
                            "end": {
                              "line": 61,
                              "column": 46
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1443,
                            "end": 1453,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 11
                              },
                              "end": {
                                "line": 61,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1443,
                              "end": 1447,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 11
                                },
                                "end": {
                                  "line": 61,
                                  "column": 15
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1448,
                              "end": 1453,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 16
                                },
                                "end": {
                                  "line": 61,
                                  "column": 21
                                },
                                "identifierName": "regex"
                              },
                              "name": "regex"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1454,
                              "end": 1457,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 22
                                },
                                "end": {
                                  "line": 61,
                                  "column": 25
                                },
                                "identifierName": "str"
                              },
                              "name": "str"
                            },
                            {
                              "type": "Identifier",
                              "start": 1459,
                              "end": 1466,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 27
                                },
                                "end": {
                                  "line": 61,
                                  "column": 34
                                },
                                "identifierName": "pattern"
                              },
                              "name": "pattern"
                            },
                            {
                              "type": "Identifier",
                              "start": 1468,
                              "end": 1477,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 36
                                },
                                "end": {
                                  "line": 61,
                                  "column": 45
                                },
                                "identifierName": "modifiers"
                              },
                              "name": "modifiers"
                            }
                          ]
                        }
                      }
                    ],
                    "directives": []
                  }
                }
              ]
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "ExpressionStatement",
        "start": 1487,
        "end": 1519,
        "loc": {
          "start": {
            "line": 64,
            "column": 0
          },
          "end": {
            "line": 64,
            "column": 32
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 1487,
          "end": 1518,
          "loc": {
            "start": {
              "line": 64,
              "column": 0
            },
            "end": {
              "line": 64,
              "column": 31
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 1487,
            "end": 1505,
            "loc": {
              "start": {
                "line": 64,
                "column": 0
              },
              "end": {
                "line": 64,
                "column": 18
              }
            },
            "object": {
              "type": "Identifier",
              "start": 1487,
              "end": 1494,
              "loc": {
                "start": {
                  "line": 64,
                  "column": 0
                },
                "end": {
                  "line": 64,
                  "column": 7
                },
                "identifierName": "exports"
              },
              "name": "exports"
            },
            "property": {
              "type": "Identifier",
              "start": 1495,
              "end": 1505,
              "loc": {
                "start": {
                  "line": 64,
                  "column": 8
                },
                "end": {
                  "line": 64,
                  "column": 18
                },
                "identifierName": "extensions"
              },
              "name": "extensions"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 1508,
            "end": 1518,
            "loc": {
              "start": {
                "line": 64,
                "column": 21
              },
              "end": {
                "line": 64,
                "column": 31
              },
              "identifierName": "extensions"
            },
            "name": "extensions"
          }
        }
      },
      {
        "type": "FunctionDeclaration",
        "start": 1521,
        "end": 1843,
        "loc": {
          "start": {
            "line": 66,
            "column": 0
          },
          "end": {
            "line": 76,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 1530,
          "end": 1552,
          "loc": {
            "start": {
              "line": 66,
              "column": 9
            },
            "end": {
              "line": 66,
              "column": 31
            },
            "identifierName": "extendModelValidations"
          },
          "name": "extendModelValidations"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 1553,
            "end": 1566,
            "loc": {
              "start": {
                "line": 66,
                "column": 32
              },
              "end": {
                "line": 66,
                "column": 45
              },
              "identifierName": "modelInstance"
            },
            "name": "modelInstance"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 1568,
          "end": 1843,
          "loc": {
            "start": {
              "line": 66,
              "column": 47
            },
            "end": {
              "line": 76,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 1572,
              "end": 1762,
              "loc": {
                "start": {
                  "line": 67,
                  "column": 2
                },
                "end": {
                  "line": 71,
                  "column": 4
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1578,
                  "end": 1761,
                  "loc": {
                    "start": {
                      "line": 67,
                      "column": 8
                    },
                    "end": {
                      "line": 71,
                      "column": 3
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1578,
                    "end": 1588,
                    "loc": {
                      "start": {
                        "line": 67,
                        "column": 8
                      },
                      "end": {
                        "line": 67,
                        "column": 18
                      },
                      "identifierName": "extensions"
                    },
                    "name": "extensions"
                  },
                  "init": {
                    "type": "ObjectExpression",
                    "start": 1591,
                    "end": 1761,
                    "loc": {
                      "start": {
                        "line": 67,
                        "column": 21
                      },
                      "end": {
                        "line": 71,
                        "column": 3
                      }
                    },
                    "properties": [
                      {
                        "type": "ObjectMethod",
                        "start": 1597,
                        "end": 1757,
                        "loc": {
                          "start": {
                            "line": 68,
                            "column": 4
                          },
                          "end": {
                            "line": 70,
                            "column": 5
                          }
                        },
                        "method": true,
                        "shorthand": false,
                        "computed": false,
                        "key": {
                          "type": "Identifier",
                          "start": 1597,
                          "end": 1608,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 4
                            },
                            "end": {
                              "line": 68,
                              "column": 15
                            },
                            "identifierName": "isImmutable"
                          },
                          "name": "isImmutable"
                        },
                        "kind": "method",
                        "id": null,
                        "generator": false,
                        "expression": false,
                        "async": false,
                        "params": [
                          {
                            "type": "Identifier",
                            "start": 1609,
                            "end": 1612,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 16
                              },
                              "end": {
                                "line": 68,
                                "column": 19
                              },
                              "identifierName": "str"
                            },
                            "name": "str"
                          },
                          {
                            "type": "Identifier",
                            "start": 1614,
                            "end": 1619,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 21
                              },
                              "end": {
                                "line": 68,
                                "column": 26
                              },
                              "identifierName": "param"
                            },
                            "name": "param"
                          },
                          {
                            "type": "Identifier",
                            "start": 1621,
                            "end": 1626,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 28
                              },
                              "end": {
                                "line": 68,
                                "column": 33
                              },
                              "identifierName": "field"
                            },
                            "name": "field"
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "start": 1628,
                          "end": 1757,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 35
                            },
                            "end": {
                              "line": 70,
                              "column": 5
                            }
                          },
                          "body": [
                            {
                              "type": "ReturnStatement",
                              "start": 1636,
                              "end": 1751,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 6
                                },
                                "end": {
                                  "line": 69,
                                  "column": 121
                                }
                              },
                              "argument": {
                                "type": "LogicalExpression",
                                "start": 1644,
                                "end": 1749,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 119
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 1644,
                                  "end": 1669,
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1644,
                                    "end": 1657,
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 27
                                      },
                                      "identifierName": "modelInstance"
                                    },
                                    "name": "modelInstance"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1658,
                                    "end": 1669,
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 39
                                      },
                                      "identifierName": "isNewRecord"
                                    },
                                    "name": "isNewRecord"
                                  },
                                  "computed": false
                                },
                                "operator": "||",
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 1673,
                                  "end": 1749,
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 119
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 1673,
                                    "end": 1704,
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 74
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 1673,
                                      "end": 1697,
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 67
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1673,
                                        "end": 1686,
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 69,
                                            "column": 56
                                          },
                                          "identifierName": "modelInstance"
                                        },
                                        "name": "modelInstance"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1687,
                                        "end": 1697,
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 69,
                                            "column": 67
                                          },
                                          "identifierName": "dataValues"
                                        },
                                        "name": "dataValues"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1698,
                                      "end": 1703,
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 68
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 73
                                        },
                                        "identifierName": "field"
                                      },
                                      "name": "field"
                                    },
                                    "computed": true
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 1709,
                                    "end": 1749,
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 79
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 119
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 1709,
                                      "end": 1742,
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 79
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 112
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1709,
                                        "end": 1722,
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 79
                                          },
                                          "end": {
                                            "line": 69,
                                            "column": 92
                                          },
                                          "identifierName": "modelInstance"
                                        },
                                        "name": "modelInstance"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1723,
                                        "end": 1742,
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 93
                                          },
                                          "end": {
                                            "line": 69,
                                            "column": 112
                                          },
                                          "identifierName": "_previousDataValues"
                                        },
                                        "name": "_previousDataValues"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1743,
                                      "end": 1748,
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 113
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 118
                                        },
                                        "identifierName": "field"
                                      },
                                      "name": "field"
                                    },
                                    "computed": true
                                  }
                                },
                                "extra": {
                                  "parenthesized": true,
                                  "parenStart": 1643
                                }
                              }
                            }
                          ],
                          "directives": []
                        }
                      }
                    ]
                  }
                }
              ],
              "kind": "const"
            },
            {
              "type": "ExpressionStatement",
              "start": 1766,
              "end": 1841,
              "loc": {
                "start": {
                  "line": 73,
                  "column": 2
                },
                "end": {
                  "line": 75,
                  "column": 5
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 1766,
                "end": 1840,
                "loc": {
                  "start": {
                    "line": 73,
                    "column": 2
                  },
                  "end": {
                    "line": 75,
                    "column": 4
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 1766,
                  "end": 1775,
                  "loc": {
                    "start": {
                      "line": 73,
                      "column": 2
                    },
                    "end": {
                      "line": 73,
                      "column": 11
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 1766,
                    "end": 1767,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 2
                      },
                      "end": {
                        "line": 73,
                        "column": 3
                      },
                      "identifierName": "_"
                    },
                    "name": "_"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 1768,
                    "end": 1775,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 4
                      },
                      "end": {
                        "line": 73,
                        "column": 11
                      },
                      "identifierName": "forEach"
                    },
                    "name": "forEach"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "Identifier",
                    "start": 1776,
                    "end": 1786,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 12
                      },
                      "end": {
                        "line": 73,
                        "column": 22
                      },
                      "identifierName": "extensions"
                    },
                    "name": "extensions"
                  },
                  {
                    "type": "ArrowFunctionExpression",
                    "start": 1788,
                    "end": 1839,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 24
                      },
                      "end": {
                        "line": 75,
                        "column": 3
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "Identifier",
                        "start": 1789,
                        "end": 1795,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 25
                          },
                          "end": {
                            "line": 73,
                            "column": 31
                          },
                          "identifierName": "extend"
                        },
                        "name": "extend"
                      },
                      {
                        "type": "Identifier",
                        "start": 1797,
                        "end": 1800,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 33
                          },
                          "end": {
                            "line": 73,
                            "column": 36
                          },
                          "identifierName": "key"
                        },
                        "name": "key"
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 1805,
                      "end": 1839,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 41
                        },
                        "end": {
                          "line": 75,
                          "column": 3
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 1811,
                          "end": 1835,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 4
                            },
                            "end": {
                              "line": 74,
                              "column": 28
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 1811,
                            "end": 1834,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 4
                              },
                              "end": {
                                "line": 74,
                                "column": 27
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "start": 1811,
                              "end": 1825,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 4
                                },
                                "end": {
                                  "line": 74,
                                  "column": 18
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1811,
                                "end": 1820,
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 13
                                  },
                                  "identifierName": "validator"
                                },
                                "name": "validator"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1821,
                                "end": 1824,
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 17
                                  },
                                  "identifierName": "key"
                                },
                                "name": "key"
                              },
                              "computed": true
                            },
                            "right": {
                              "type": "Identifier",
                              "start": 1828,
                              "end": 1834,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 21
                                },
                                "end": {
                                  "line": 74,
                                  "column": 27
                                },
                                "identifierName": "extend"
                              },
                              "name": "extend"
                            }
                          }
                        }
                      ],
                      "directives": []
                    }
                  }
                ]
              }
            }
          ],
          "directives": []
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 1844,
        "end": 1900,
        "loc": {
          "start": {
            "line": 77,
            "column": 0
          },
          "end": {
            "line": 77,
            "column": 56
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 1844,
          "end": 1899,
          "loc": {
            "start": {
              "line": 77,
              "column": 0
            },
            "end": {
              "line": 77,
              "column": 55
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 1844,
            "end": 1874,
            "loc": {
              "start": {
                "line": 77,
                "column": 0
              },
              "end": {
                "line": 77,
                "column": 30
              }
            },
            "object": {
              "type": "Identifier",
              "start": 1844,
              "end": 1851,
              "loc": {
                "start": {
                  "line": 77,
                  "column": 0
                },
                "end": {
                  "line": 77,
                  "column": 7
                },
                "identifierName": "exports"
              },
              "name": "exports"
            },
            "property": {
              "type": "Identifier",
              "start": 1852,
              "end": 1874,
              "loc": {
                "start": {
                  "line": 77,
                  "column": 8
                },
                "end": {
                  "line": 77,
                  "column": 30
                },
                "identifierName": "extendModelValidations"
              },
              "name": "extendModelValidations"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 1877,
            "end": 1899,
            "loc": {
              "start": {
                "line": 77,
                "column": 33
              },
              "end": {
                "line": 77,
                "column": 55
              },
              "identifierName": "extendModelValidations"
            },
            "name": "extendModelValidations"
          }
        },
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " Deprecate this.",
            "start": 1902,
            "end": 1920,
            "loc": {
              "start": {
                "line": 79,
                "column": 0
              },
              "end": {
                "line": 79,
                "column": 18
              }
            }
          }
        ]
      },
      {
        "type": "ExpressionStatement",
        "start": 1921,
        "end": 2064,
        "loc": {
          "start": {
            "line": 80,
            "column": 0
          },
          "end": {
            "line": 82,
            "column": 2
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 1921,
          "end": 2063,
          "loc": {
            "start": {
              "line": 80,
              "column": 0
            },
            "end": {
              "line": 82,
              "column": 1
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 1921,
            "end": 1938,
            "loc": {
              "start": {
                "line": 80,
                "column": 0
              },
              "end": {
                "line": 80,
                "column": 17
              }
            },
            "object": {
              "type": "Identifier",
              "start": 1921,
              "end": 1930,
              "loc": {
                "start": {
                  "line": 80,
                  "column": 0
                },
                "end": {
                  "line": 80,
                  "column": 9
                },
                "identifierName": "validator"
              },
              "name": "validator",
              "leadingComments": null
            },
            "property": {
              "type": "Identifier",
              "start": 1931,
              "end": 1938,
              "loc": {
                "start": {
                  "line": 80,
                  "column": 10
                },
                "end": {
                  "line": 80,
                  "column": 17
                },
                "identifierName": "notNull"
              },
              "name": "notNull"
            },
            "computed": false,
            "leadingComments": null
          },
          "right": {
            "type": "FunctionExpression",
            "start": 1941,
            "end": 2063,
            "loc": {
              "start": {
                "line": 80,
                "column": 20
              },
              "end": {
                "line": 82,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 1931,
              "end": 1938,
              "loc": {
                "start": {
                  "line": 80,
                  "column": 10
                },
                "end": {
                  "line": 80,
                  "column": 17
                },
                "identifierName": "notNull"
              },
              "name": "notNull"
            },
            "generator": false,
            "expression": false,
            "async": false,
            "params": [],
            "body": {
              "type": "BlockStatement",
              "start": 1952,
              "end": 2063,
              "loc": {
                "start": {
                  "line": 80,
                  "column": 31
                },
                "end": {
                  "line": 82,
                  "column": 1
                }
              },
              "body": [
                {
                  "type": "ThrowStatement",
                  "start": 1956,
                  "end": 2061,
                  "loc": {
                    "start": {
                      "line": 81,
                      "column": 2
                    },
                    "end": {
                      "line": 81,
                      "column": 107
                    }
                  },
                  "argument": {
                    "type": "NewExpression",
                    "start": 1962,
                    "end": 2060,
                    "loc": {
                      "start": {
                        "line": 81,
                        "column": 8
                      },
                      "end": {
                        "line": 81,
                        "column": 106
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 1966,
                      "end": 1971,
                      "loc": {
                        "start": {
                          "line": 81,
                          "column": 12
                        },
                        "end": {
                          "line": 81,
                          "column": 17
                        },
                        "identifierName": "Error"
                      },
                      "name": "Error"
                    },
                    "arguments": [
                      {
                        "type": "StringLiteral",
                        "start": 1972,
                        "end": 2059,
                        "loc": {
                          "start": {
                            "line": 81,
                            "column": 18
                          },
                          "end": {
                            "line": 81,
                            "column": 105
                          }
                        },
                        "extra": {
                          "rawValue": "Warning \"notNull\" validation has been deprecated in favor of Schema based \"allowNull\"",
                          "raw": "'Warning \"notNull\" validation has been deprecated in favor of Schema based \"allowNull\"'"
                        },
                        "value": "Warning \"notNull\" validation has been deprecated in favor of Schema based \"allowNull\""
                      }
                    ]
                  }
                }
              ],
              "directives": []
            }
          },
          "leadingComments": null
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " Deprecate this.",
            "start": 1902,
            "end": 1920,
            "loc": {
              "start": {
                "line": 79,
                "column": 0
              },
              "end": {
                "line": 79,
                "column": 18
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " https://github.com/chriso/validator.js/blob/6.2.0/validator.js",
            "start": 2066,
            "end": 2131,
            "loc": {
              "start": {
                "line": 84,
                "column": 0
              },
              "end": {
                "line": 84,
                "column": 65
              }
            }
          }
        ]
      },
      {
        "type": "ExpressionStatement",
        "start": 2132,
        "end": 2203,
        "loc": {
          "start": {
            "line": 85,
            "column": 0
          },
          "end": {
            "line": 87,
            "column": 3
          }
        },
        "expression": {
          "type": "CallExpression",
          "start": 2132,
          "end": 2202,
          "loc": {
            "start": {
              "line": 85,
              "column": 0
            },
            "end": {
              "line": 87,
              "column": 2
            }
          },
          "callee": {
            "type": "MemberExpression",
            "start": 2132,
            "end": 2141,
            "loc": {
              "start": {
                "line": 85,
                "column": 0
              },
              "end": {
                "line": 85,
                "column": 9
              }
            },
            "object": {
              "type": "Identifier",
              "start": 2132,
              "end": 2133,
              "loc": {
                "start": {
                  "line": 85,
                  "column": 0
                },
                "end": {
                  "line": 85,
                  "column": 1
                },
                "identifierName": "_"
              },
              "name": "_",
              "leadingComments": null
            },
            "property": {
              "type": "Identifier",
              "start": 2134,
              "end": 2141,
              "loc": {
                "start": {
                  "line": 85,
                  "column": 2
                },
                "end": {
                  "line": 85,
                  "column": 9
                },
                "identifierName": "forEach"
              },
              "name": "forEach"
            },
            "computed": false,
            "leadingComments": null
          },
          "arguments": [
            {
              "type": "Identifier",
              "start": 2142,
              "end": 2152,
              "loc": {
                "start": {
                  "line": 85,
                  "column": 10
                },
                "end": {
                  "line": 85,
                  "column": 20
                },
                "identifierName": "extensions"
              },
              "name": "extensions"
            },
            {
              "type": "ArrowFunctionExpression",
              "start": 2154,
              "end": 2201,
              "loc": {
                "start": {
                  "line": 85,
                  "column": 22
                },
                "end": {
                  "line": 87,
                  "column": 1
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 2155,
                  "end": 2161,
                  "loc": {
                    "start": {
                      "line": 85,
                      "column": 23
                    },
                    "end": {
                      "line": 85,
                      "column": 29
                    },
                    "identifierName": "extend"
                  },
                  "name": "extend"
                },
                {
                  "type": "Identifier",
                  "start": 2163,
                  "end": 2166,
                  "loc": {
                    "start": {
                      "line": 85,
                      "column": 31
                    },
                    "end": {
                      "line": 85,
                      "column": 34
                    },
                    "identifierName": "key"
                  },
                  "name": "key"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 2171,
                "end": 2201,
                "loc": {
                  "start": {
                    "line": 85,
                    "column": 39
                  },
                  "end": {
                    "line": 87,
                    "column": 1
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 2175,
                    "end": 2199,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 2
                      },
                      "end": {
                        "line": 86,
                        "column": 26
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 2175,
                      "end": 2198,
                      "loc": {
                        "start": {
                          "line": 86,
                          "column": 2
                        },
                        "end": {
                          "line": 86,
                          "column": 25
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 2175,
                        "end": 2189,
                        "loc": {
                          "start": {
                            "line": 86,
                            "column": 2
                          },
                          "end": {
                            "line": 86,
                            "column": 16
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2175,
                          "end": 2184,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 2
                            },
                            "end": {
                              "line": 86,
                              "column": 11
                            },
                            "identifierName": "validator"
                          },
                          "name": "validator"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2185,
                          "end": 2188,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 12
                            },
                            "end": {
                              "line": 86,
                              "column": 15
                            },
                            "identifierName": "key"
                          },
                          "name": "key"
                        },
                        "computed": true
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 2192,
                        "end": 2198,
                        "loc": {
                          "start": {
                            "line": 86,
                            "column": 19
                          },
                          "end": {
                            "line": 86,
                            "column": 25
                          },
                          "identifierName": "extend"
                        },
                        "name": "extend"
                      }
                    }
                  }
                ],
                "directives": []
              }
            }
          ],
          "leadingComments": null
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " https://github.com/chriso/validator.js/blob/6.2.0/validator.js",
            "start": 2066,
            "end": 2131,
            "loc": {
              "start": {
                "line": 84,
                "column": 0
              },
              "end": {
                "line": 84,
                "column": 65
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " map isNull to isEmpty",
            "start": 2205,
            "end": 2229,
            "loc": {
              "start": {
                "line": 89,
                "column": 0
              },
              "end": {
                "line": 89,
                "column": 24
              }
            }
          },
          {
            "type": "CommentLine",
            "value": " https://github.com/chriso/validator.js/commit/e33d38a26ee2f9666b319adb67c7fc0d3dea7125",
            "start": 2230,
            "end": 2319,
            "loc": {
              "start": {
                "line": 90,
                "column": 0
              },
              "end": {
                "line": 90,
                "column": 89
              }
            }
          }
        ]
      },
      {
        "type": "ExpressionStatement",
        "start": 2320,
        "end": 2357,
        "loc": {
          "start": {
            "line": 91,
            "column": 0
          },
          "end": {
            "line": 91,
            "column": 37
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 2320,
          "end": 2356,
          "loc": {
            "start": {
              "line": 91,
              "column": 0
            },
            "end": {
              "line": 91,
              "column": 36
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 2320,
            "end": 2336,
            "loc": {
              "start": {
                "line": 91,
                "column": 0
              },
              "end": {
                "line": 91,
                "column": 16
              }
            },
            "object": {
              "type": "Identifier",
              "start": 2320,
              "end": 2329,
              "loc": {
                "start": {
                  "line": 91,
                  "column": 0
                },
                "end": {
                  "line": 91,
                  "column": 9
                },
                "identifierName": "validator"
              },
              "name": "validator",
              "leadingComments": null
            },
            "property": {
              "type": "Identifier",
              "start": 2330,
              "end": 2336,
              "loc": {
                "start": {
                  "line": 91,
                  "column": 10
                },
                "end": {
                  "line": 91,
                  "column": 16
                },
                "identifierName": "isNull"
              },
              "name": "isNull"
            },
            "computed": false,
            "leadingComments": null
          },
          "right": {
            "type": "MemberExpression",
            "start": 2339,
            "end": 2356,
            "loc": {
              "start": {
                "line": 91,
                "column": 19
              },
              "end": {
                "line": 91,
                "column": 36
              }
            },
            "object": {
              "type": "Identifier",
              "start": 2339,
              "end": 2348,
              "loc": {
                "start": {
                  "line": 91,
                  "column": 19
                },
                "end": {
                  "line": 91,
                  "column": 28
                },
                "identifierName": "validator"
              },
              "name": "validator"
            },
            "property": {
              "type": "Identifier",
              "start": 2349,
              "end": 2356,
              "loc": {
                "start": {
                  "line": 91,
                  "column": 29
                },
                "end": {
                  "line": 91,
                  "column": 36
                },
                "identifierName": "isEmpty"
              },
              "name": "isEmpty"
            },
            "computed": false
          },
          "leadingComments": null
        },
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " map isNull to isEmpty",
            "start": 2205,
            "end": 2229,
            "loc": {
              "start": {
                "line": 89,
                "column": 0
              },
              "end": {
                "line": 89,
                "column": 24
              }
            }
          },
          {
            "type": "CommentLine",
            "value": " https://github.com/chriso/validator.js/commit/e33d38a26ee2f9666b319adb67c7fc0d3dea7125",
            "start": 2230,
            "end": 2319,
            "loc": {
              "start": {
                "line": 90,
                "column": 0
              },
              "end": {
                "line": 90,
                "column": 89
              }
            }
          }
        ]
      },
      {
        "type": "ExpressionStatement",
        "start": 2359,
        "end": 2389,
        "loc": {
          "start": {
            "line": 93,
            "column": 0
          },
          "end": {
            "line": 93,
            "column": 30
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 2359,
          "end": 2388,
          "loc": {
            "start": {
              "line": 93,
              "column": 0
            },
            "end": {
              "line": 93,
              "column": 29
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 2359,
            "end": 2376,
            "loc": {
              "start": {
                "line": 93,
                "column": 0
              },
              "end": {
                "line": 93,
                "column": 17
              }
            },
            "object": {
              "type": "Identifier",
              "start": 2359,
              "end": 2366,
              "loc": {
                "start": {
                  "line": 93,
                  "column": 0
                },
                "end": {
                  "line": 93,
                  "column": 7
                },
                "identifierName": "exports"
              },
              "name": "exports"
            },
            "property": {
              "type": "Identifier",
              "start": 2367,
              "end": 2376,
              "loc": {
                "start": {
                  "line": 93,
                  "column": 8
                },
                "end": {
                  "line": 93,
                  "column": 17
                },
                "identifierName": "validator"
              },
              "name": "validator"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 2379,
            "end": 2388,
            "loc": {
              "start": {
                "line": 93,
                "column": 20
              },
              "end": {
                "line": 93,
                "column": 29
              },
              "identifierName": "validator"
            },
            "name": "validator"
          }
        }
      }
    ],
    "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": "CommentLine",
      "value": " Deprecate this.",
      "start": 1902,
      "end": 1920,
      "loc": {
        "start": {
          "line": 79,
          "column": 0
        },
        "end": {
          "line": 79,
          "column": 18
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " https://github.com/chriso/validator.js/blob/6.2.0/validator.js",
      "start": 2066,
      "end": 2131,
      "loc": {
        "start": {
          "line": 84,
          "column": 0
        },
        "end": {
          "line": 84,
          "column": 65
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " map isNull to isEmpty",
      "start": 2205,
      "end": 2229,
      "loc": {
        "start": {
          "line": 89,
          "column": 0
        },
        "end": {
          "line": 89,
          "column": 24
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " https://github.com/chriso/validator.js/commit/e33d38a26ee2f9666b319adb67c7fc0d3dea7125",
      "start": 2230,
      "end": 2319,
      "loc": {
        "start": {
          "line": 90,
          "column": 0
        },
        "end": {
          "line": 90,
          "column": 89
        }
      }
    }
  ],
  "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": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 15,
      "end": 20,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_",
      "start": 21,
      "end": 22,
      "loc": {
        "start": {
          "line": 3,
          "column": 6
        },
        "end": {
          "line": 3,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 23,
      "end": 24,
      "loc": {
        "start": {
          "line": 3,
          "column": 8
        },
        "end": {
          "line": 3,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "require",
      "start": 25,
      "end": 32,
      "loc": {
        "start": {
          "line": 3,
          "column": 10
        },
        "end": {
          "line": 3,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 32,
      "end": 33,
      "loc": {
        "start": {
          "line": 3,
          "column": 17
        },
        "end": {
          "line": 3,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "lodash",
      "start": 33,
      "end": 41,
      "loc": {
        "start": {
          "line": 3,
          "column": 18
        },
        "end": {
          "line": 3,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 41,
      "end": 42,
      "loc": {
        "start": {
          "line": 3,
          "column": 26
        },
        "end": {
          "line": 3,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 42,
      "end": 43,
      "loc": {
        "start": {
          "line": 3,
          "column": 27
        },
        "end": {
          "line": 3,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 44,
      "end": 49,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "validator",
      "start": 50,
      "end": 59,
      "loc": {
        "start": {
          "line": 4,
          "column": 6
        },
        "end": {
          "line": 4,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 60,
      "end": 61,
      "loc": {
        "start": {
          "line": 4,
          "column": 16
        },
        "end": {
          "line": 4,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_",
      "start": 62,
      "end": 63,
      "loc": {
        "start": {
          "line": 4,
          "column": 18
        },
        "end": {
          "line": 4,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 63,
      "end": 64,
      "loc": {
        "start": {
          "line": 4,
          "column": 19
        },
        "end": {
          "line": 4,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cloneDeep",
      "start": 64,
      "end": 73,
      "loc": {
        "start": {
          "line": 4,
          "column": 20
        },
        "end": {
          "line": 4,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 73,
      "end": 74,
      "loc": {
        "start": {
          "line": 4,
          "column": 29
        },
        "end": {
          "line": 4,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "require",
      "start": 74,
      "end": 81,
      "loc": {
        "start": {
          "line": 4,
          "column": 30
        },
        "end": {
          "line": 4,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 81,
      "end": 82,
      "loc": {
        "start": {
          "line": 4,
          "column": 37
        },
        "end": {
          "line": 4,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "validator",
      "start": 82,
      "end": 93,
      "loc": {
        "start": {
          "line": 4,
          "column": 38
        },
        "end": {
          "line": 4,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 93,
      "end": 94,
      "loc": {
        "start": {
          "line": 4,
          "column": 49
        },
        "end": {
          "line": 4,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 94,
      "end": 95,
      "loc": {
        "start": {
          "line": 4,
          "column": 50
        },
        "end": {
          "line": 4,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 95,
      "end": 96,
      "loc": {
        "start": {
          "line": 4,
          "column": 51
        },
        "end": {
          "line": 4,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 98,
      "end": 103,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "extensions",
      "start": 104,
      "end": 114,
      "loc": {
        "start": {
          "line": 6,
          "column": 6
        },
        "end": {
          "line": 6,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 115,
      "end": 116,
      "loc": {
        "start": {
          "line": 6,
          "column": 17
        },
        "end": {
          "line": 6,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 117,
      "end": 118,
      "loc": {
        "start": {
          "line": 6,
          "column": 19
        },
        "end": {
          "line": 6,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "extend",
      "start": 121,
      "end": 127,
      "loc": {
        "start": {
          "line": 7,
          "column": 2
        },
        "end": {
          "line": 7,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 127,
      "end": 128,
      "loc": {
        "start": {
          "line": 7,
          "column": 8
        },
        "end": {
          "line": 7,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 128,
      "end": 132,
      "loc": {
        "start": {
          "line": 7,
          "column": 9
        },
        "end": {
          "line": 7,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 132,
      "end": 133,
      "loc": {
        "start": {
          "line": 7,
          "column": 13
        },
        "end": {
          "line": 7,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 134,
      "end": 136,
      "loc": {
        "start": {
          "line": 7,
          "column": 15
        },
        "end": {
          "line": 7,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 136,
      "end": 137,
      "loc": {
        "start": {
          "line": 7,
          "column": 17
        },
        "end": {
          "line": 7,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 138,
      "end": 139,
      "loc": {
        "start": {
          "line": 7,
          "column": 19
        },
        "end": {
          "line": 7,
          "column": 20
        }
      }
    },
    {
      "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": 144,
      "end": 148,
      "loc": {
        "start": {
          "line": 8,
          "column": 4
        },
        "end": {
          "line": 8,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 148,
      "end": 149,
      "loc": {
        "start": {
          "line": 8,
          "column": 8
        },
        "end": {
          "line": 8,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 149,
      "end": 153,
      "loc": {
        "start": {
          "line": 8,
          "column": 9
        },
        "end": {
          "line": 8,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 153,
      "end": 154,
      "loc": {
        "start": {
          "line": 8,
          "column": 13
        },
        "end": {
          "line": 8,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 155,
      "end": 156,
      "loc": {
        "start": {
          "line": 8,
          "column": 15
        },
        "end": {
          "line": 8,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 157,
      "end": 159,
      "loc": {
        "start": {
          "line": 8,
          "column": 17
        },
        "end": {
          "line": 8,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 159,
      "end": 160,
      "loc": {
        "start": {
          "line": 8,
          "column": 19
        },
        "end": {
          "line": 8,
          "column": 20
        }
      }
    },
    {
      "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": 166,
      "end": 172,
      "loc": {
        "start": {
          "line": 10,
          "column": 4
        },
        "end": {
          "line": 10,
          "column": 10
        }
      }
    },
    {
      "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": 173,
      "end": 177,
      "loc": {
        "start": {
          "line": 10,
          "column": 11
        },
        "end": {
          "line": 10,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 177,
      "end": 178,
      "loc": {
        "start": {
          "line": 10,
          "column": 15
        },
        "end": {
          "line": 10,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 181,
      "end": 182,
      "loc": {
        "start": {
          "line": 11,
          "column": 2
        },
        "end": {
          "line": 11,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 182,
      "end": 183,
      "loc": {
        "start": {
          "line": 11,
          "column": 3
        },
        "end": {
          "line": 11,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "notEmpty",
      "start": 186,
      "end": 194,
      "loc": {
        "start": {
          "line": 12,
          "column": 2
        },
        "end": {
          "line": 12,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 194,
      "end": 195,
      "loc": {
        "start": {
          "line": 12,
          "column": 10
        },
        "end": {
          "line": 12,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 195,
      "end": 198,
      "loc": {
        "start": {
          "line": 12,
          "column": 11
        },
        "end": {
          "line": 12,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 198,
      "end": 199,
      "loc": {
        "start": {
          "line": 12,
          "column": 14
        },
        "end": {
          "line": 12,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 200,
      "end": 201,
      "loc": {
        "start": {
          "line": 12,
          "column": 16
        },
        "end": {
          "line": 12,
          "column": 17
        }
      }
    },
    {
      "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": 206,
      "end": 212,
      "loc": {
        "start": {
          "line": 13,
          "column": 4
        },
        "end": {
          "line": 13,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 213,
      "end": 214,
      "loc": {
        "start": {
          "line": 13,
          "column": 11
        },
        "end": {
          "line": 13,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 214,
      "end": 217,
      "loc": {
        "start": {
          "line": 13,
          "column": 12
        },
        "end": {
          "line": 13,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 217,
      "end": 218,
      "loc": {
        "start": {
          "line": 13,
          "column": 15
        },
        "end": {
          "line": 13,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "match",
      "start": 218,
      "end": 223,
      "loc": {
        "start": {
          "line": 13,
          "column": 16
        },
        "end": {
          "line": 13,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 223,
      "end": 224,
      "loc": {
        "start": {
          "line": 13,
          "column": 21
        },
        "end": {
          "line": 13,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "regexp",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": {
        "pattern": "^[\\s\\t\\r\\n]*$",
        "flags": ""
      },
      "start": 224,
      "end": 239,
      "loc": {
        "start": {
          "line": 13,
          "column": 22
        },
        "end": {
          "line": 13,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 239,
      "end": 240,
      "loc": {
        "start": {
          "line": 13,
          "column": 37
        },
        "end": {
          "line": 13,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 240,
      "end": 241,
      "loc": {
        "start": {
          "line": 13,
          "column": 38
        },
        "end": {
          "line": 13,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 244,
      "end": 245,
      "loc": {
        "start": {
          "line": 14,
          "column": 2
        },
        "end": {
          "line": 14,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 245,
      "end": 246,
      "loc": {
        "start": {
          "line": 14,
          "column": 3
        },
        "end": {
          "line": 14,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "len",
      "start": 249,
      "end": 252,
      "loc": {
        "start": {
          "line": 15,
          "column": 2
        },
        "end": {
          "line": 15,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 252,
      "end": 253,
      "loc": {
        "start": {
          "line": 15,
          "column": 5
        },
        "end": {
          "line": 15,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 253,
      "end": 256,
      "loc": {
        "start": {
          "line": 15,
          "column": 6
        },
        "end": {
          "line": 15,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 256,
      "end": 257,
      "loc": {
        "start": {
          "line": 15,
          "column": 9
        },
        "end": {
          "line": 15,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "min",
      "start": 258,
      "end": 261,
      "loc": {
        "start": {
          "line": 15,
          "column": 11
        },
        "end": {
          "line": 15,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 261,
      "end": 262,
      "loc": {
        "start": {
          "line": 15,
          "column": 14
        },
        "end": {
          "line": 15,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "max",
      "start": 263,
      "end": 266,
      "loc": {
        "start": {
          "line": 15,
          "column": 16
        },
        "end": {
          "line": 15,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 266,
      "end": 267,
      "loc": {
        "start": {
          "line": 15,
          "column": 19
        },
        "end": {
          "line": 15,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 268,
      "end": 269,
      "loc": {
        "start": {
          "line": 15,
          "column": 21
        },
        "end": {
          "line": 15,
          "column": 22
        }
      }
    },
    {
      "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": 274,
      "end": 280,
      "loc": {
        "start": {
          "line": 16,
          "column": 4
        },
        "end": {
          "line": 16,
          "column": 10
        }
      }
    },
    {
      "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": 281,
      "end": 285,
      "loc": {
        "start": {
          "line": 16,
          "column": 11
        },
        "end": {
          "line": 16,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 285,
      "end": 286,
      "loc": {
        "start": {
          "line": 16,
          "column": 15
        },
        "end": {
          "line": 16,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isLength",
      "start": 286,
      "end": 294,
      "loc": {
        "start": {
          "line": 16,
          "column": 16
        },
        "end": {
          "line": 16,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 294,
      "end": 295,
      "loc": {
        "start": {
          "line": 16,
          "column": 24
        },
        "end": {
          "line": 16,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 295,
      "end": 298,
      "loc": {
        "start": {
          "line": 16,
          "column": 25
        },
        "end": {
          "line": 16,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 298,
      "end": 299,
      "loc": {
        "start": {
          "line": 16,
          "column": 28
        },
        "end": {
          "line": 16,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "min",
      "start": 300,
      "end": 303,
      "loc": {
        "start": {
          "line": 16,
          "column": 30
        },
        "end": {
          "line": 16,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 303,
      "end": 304,
      "loc": {
        "start": {
          "line": 16,
          "column": 33
        },
        "end": {
          "line": 16,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "max",
      "start": 305,
      "end": 308,
      "loc": {
        "start": {
          "line": 16,
          "column": 35
        },
        "end": {
          "line": 16,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 308,
      "end": 309,
      "loc": {
        "start": {
          "line": 16,
          "column": 38
        },
        "end": {
          "line": 16,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 309,
      "end": 310,
      "loc": {
        "start": {
          "line": 16,
          "column": 39
        },
        "end": {
          "line": 16,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 313,
      "end": 314,
      "loc": {
        "start": {
          "line": 17,
          "column": 2
        },
        "end": {
          "line": 17,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 314,
      "end": 315,
      "loc": {
        "start": {
          "line": 17,
          "column": 3
        },
        "end": {
          "line": 17,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isUrl",
      "start": 318,
      "end": 323,
      "loc": {
        "start": {
          "line": 18,
          "column": 2
        },
        "end": {
          "line": 18,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 323,
      "end": 324,
      "loc": {
        "start": {
          "line": 18,
          "column": 7
        },
        "end": {
          "line": 18,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 324,
      "end": 327,
      "loc": {
        "start": {
          "line": 18,
          "column": 8
        },
        "end": {
          "line": 18,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 327,
      "end": 328,
      "loc": {
        "start": {
          "line": 18,
          "column": 11
        },
        "end": {
          "line": 18,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 329,
      "end": 330,
      "loc": {
        "start": {
          "line": 18,
          "column": 13
        },
        "end": {
          "line": 18,
          "column": 14
        }
      }
    },
    {
      "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": 335,
      "end": 341,
      "loc": {
        "start": {
          "line": 19,
          "column": 4
        },
        "end": {
          "line": 19,
          "column": 10
        }
      }
    },
    {
      "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": 342,
      "end": 346,
      "loc": {
        "start": {
          "line": 19,
          "column": 11
        },
        "end": {
          "line": 19,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 346,
      "end": 347,
      "loc": {
        "start": {
          "line": 19,
          "column": 15
        },
        "end": {
          "line": 19,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isURL",
      "start": 347,
      "end": 352,
      "loc": {
        "start": {
          "line": 19,
          "column": 16
        },
        "end": {
          "line": 19,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 352,
      "end": 353,
      "loc": {
        "start": {
          "line": 19,
          "column": 21
        },
        "end": {
          "line": 19,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 353,
      "end": 356,
      "loc": {
        "start": {
          "line": 19,
          "column": 22
        },
        "end": {
          "line": 19,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 356,
      "end": 357,
      "loc": {
        "start": {
          "line": 19,
          "column": 25
        },
        "end": {
          "line": 19,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 357,
      "end": 358,
      "loc": {
        "start": {
          "line": 19,
          "column": 26
        },
        "end": {
          "line": 19,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 361,
      "end": 362,
      "loc": {
        "start": {
          "line": 20,
          "column": 2
        },
        "end": {
          "line": 20,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 362,
      "end": 363,
      "loc": {
        "start": {
          "line": 20,
          "column": 3
        },
        "end": {
          "line": 20,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isIPv6",
      "start": 366,
      "end": 372,
      "loc": {
        "start": {
          "line": 21,
          "column": 2
        },
        "end": {
          "line": 21,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 372,
      "end": 373,
      "loc": {
        "start": {
          "line": 21,
          "column": 8
        },
        "end": {
          "line": 21,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 373,
      "end": 376,
      "loc": {
        "start": {
          "line": 21,
          "column": 9
        },
        "end": {
          "line": 21,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 376,
      "end": 377,
      "loc": {
        "start": {
          "line": 21,
          "column": 12
        },
        "end": {
          "line": 21,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 378,
      "end": 379,
      "loc": {
        "start": {
          "line": 21,
          "column": 14
        },
        "end": {
          "line": 21,
          "column": 15
        }
      }
    },
    {
      "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": 384,
      "end": 390,
      "loc": {
        "start": {
          "line": 22,
          "column": 4
        },
        "end": {
          "line": 22,
          "column": 10
        }
      }
    },
    {
      "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": 391,
      "end": 395,
      "loc": {
        "start": {
          "line": 22,
          "column": 11
        },
        "end": {
          "line": 22,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 395,
      "end": 396,
      "loc": {
        "start": {
          "line": 22,
          "column": 15
        },
        "end": {
          "line": 22,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isIP",
      "start": 396,
      "end": 400,
      "loc": {
        "start": {
          "line": 22,
          "column": 16
        },
        "end": {
          "line": 22,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 400,
      "end": 401,
      "loc": {
        "start": {
          "line": 22,
          "column": 20
        },
        "end": {
          "line": 22,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 401,
      "end": 404,
      "loc": {
        "start": {
          "line": 22,
          "column": 21
        },
        "end": {
          "line": 22,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 404,
      "end": 405,
      "loc": {
        "start": {
          "line": 22,
          "column": 24
        },
        "end": {
          "line": 22,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 6,
      "start": 406,
      "end": 407,
      "loc": {
        "start": {
          "line": 22,
          "column": 26
        },
        "end": {
          "line": 22,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 407,
      "end": 408,
      "loc": {
        "start": {
          "line": 22,
          "column": 27
        },
        "end": {
          "line": 22,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 408,
      "end": 409,
      "loc": {
        "start": {
          "line": 22,
          "column": 28
        },
        "end": {
          "line": 22,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 412,
      "end": 413,
      "loc": {
        "start": {
          "line": 23,
          "column": 2
        },
        "end": {
          "line": 23,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 413,
      "end": 414,
      "loc": {
        "start": {
          "line": 23,
          "column": 3
        },
        "end": {
          "line": 23,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isIPv4",
      "start": 417,
      "end": 423,
      "loc": {
        "start": {
          "line": 24,
          "column": 2
        },
        "end": {
          "line": 24,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 423,
      "end": 424,
      "loc": {
        "start": {
          "line": 24,
          "column": 8
        },
        "end": {
          "line": 24,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 424,
      "end": 427,
      "loc": {
        "start": {
          "line": 24,
          "column": 9
        },
        "end": {
          "line": 24,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 427,
      "end": 428,
      "loc": {
        "start": {
          "line": 24,
          "column": 12
        },
        "end": {
          "line": 24,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 429,
      "end": 430,
      "loc": {
        "start": {
          "line": 24,
          "column": 14
        },
        "end": {
          "line": 24,
          "column": 15
        }
      }
    },
    {
      "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": 435,
      "end": 441,
      "loc": {
        "start": {
          "line": 25,
          "column": 4
        },
        "end": {
          "line": 25,
          "column": 10
        }
      }
    },
    {
      "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": 442,
      "end": 446,
      "loc": {
        "start": {
          "line": 25,
          "column": 11
        },
        "end": {
          "line": 25,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 446,
      "end": 447,
      "loc": {
        "start": {
          "line": 25,
          "column": 15
        },
        "end": {
          "line": 25,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isIP",
      "start": 447,
      "end": 451,
      "loc": {
        "start": {
          "line": 25,
          "column": 16
        },
        "end": {
          "line": 25,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 451,
      "end": 452,
      "loc": {
        "start": {
          "line": 25,
          "column": 20
        },
        "end": {
          "line": 25,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 452,
      "end": 455,
      "loc": {
        "start": {
          "line": 25,
          "column": 21
        },
        "end": {
          "line": 25,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 455,
      "end": 456,
      "loc": {
        "start": {
          "line": 25,
          "column": 24
        },
        "end": {
          "line": 25,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 4,
      "start": 457,
      "end": 458,
      "loc": {
        "start": {
          "line": 25,
          "column": 26
        },
        "end": {
          "line": 25,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 458,
      "end": 459,
      "loc": {
        "start": {
          "line": 25,
          "column": 27
        },
        "end": {
          "line": 25,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 459,
      "end": 460,
      "loc": {
        "start": {
          "line": 25,
          "column": 28
        },
        "end": {
          "line": 25,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 463,
      "end": 464,
      "loc": {
        "start": {
          "line": 26,
          "column": 2
        },
        "end": {
          "line": 26,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 464,
      "end": 465,
      "loc": {
        "start": {
          "line": 26,
          "column": 3
        },
        "end": {
          "line": 26,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "notIn",
      "start": 468,
      "end": 473,
      "loc": {
        "start": {
          "line": 27,
          "column": 2
        },
        "end": {
          "line": 27,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 473,
      "end": 474,
      "loc": {
        "start": {
          "line": 27,
          "column": 7
        },
        "end": {
          "line": 27,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 474,
      "end": 477,
      "loc": {
        "start": {
          "line": 27,
          "column": 8
        },
        "end": {
          "line": 27,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 477,
      "end": 478,
      "loc": {
        "start": {
          "line": 27,
          "column": 11
        },
        "end": {
          "line": 27,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "values",
      "start": 479,
      "end": 485,
      "loc": {
        "start": {
          "line": 27,
          "column": 13
        },
        "end": {
          "line": 27,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 485,
      "end": 486,
      "loc": {
        "start": {
          "line": 27,
          "column": 19
        },
        "end": {
          "line": 27,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 487,
      "end": 488,
      "loc": {
        "start": {
          "line": 27,
          "column": 21
        },
        "end": {
          "line": 27,
          "column": 22
        }
      }
    },
    {
      "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": 493,
      "end": 499,
      "loc": {
        "start": {
          "line": 28,
          "column": 4
        },
        "end": {
          "line": 28,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 500,
      "end": 501,
      "loc": {
        "start": {
          "line": 28,
          "column": 11
        },
        "end": {
          "line": 28,
          "column": 12
        }
      }
    },
    {
      "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": 501,
      "end": 505,
      "loc": {
        "start": {
          "line": 28,
          "column": 12
        },
        "end": {
          "line": 28,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 505,
      "end": 506,
      "loc": {
        "start": {
          "line": 28,
          "column": 16
        },
        "end": {
          "line": 28,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isIn",
      "start": 506,
      "end": 510,
      "loc": {
        "start": {
          "line": 28,
          "column": 17
        },
        "end": {
          "line": 28,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 510,
      "end": 511,
      "loc": {
        "start": {
          "line": 28,
          "column": 21
        },
        "end": {
          "line": 28,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 511,
      "end": 514,
      "loc": {
        "start": {
          "line": 28,
          "column": 22
        },
        "end": {
          "line": 28,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 514,
      "end": 515,
      "loc": {
        "start": {
          "line": 28,
          "column": 25
        },
        "end": {
          "line": 28,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "values",
      "start": 516,
      "end": 522,
      "loc": {
        "start": {
          "line": 28,
          "column": 27
        },
        "end": {
          "line": 28,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 522,
      "end": 523,
      "loc": {
        "start": {
          "line": 28,
          "column": 33
        },
        "end": {
          "line": 28,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 523,
      "end": 524,
      "loc": {
        "start": {
          "line": 28,
          "column": 34
        },
        "end": {
          "line": 28,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 527,
      "end": 528,
      "loc": {
        "start": {
          "line": 29,
          "column": 2
        },
        "end": {
          "line": 29,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 528,
      "end": 529,
      "loc": {
        "start": {
          "line": 29,
          "column": 3
        },
        "end": {
          "line": 29,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "regex",
      "start": 532,
      "end": 537,
      "loc": {
        "start": {
          "line": 30,
          "column": 2
        },
        "end": {
          "line": 30,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 537,
      "end": 538,
      "loc": {
        "start": {
          "line": 30,
          "column": 7
        },
        "end": {
          "line": 30,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 538,
      "end": 541,
      "loc": {
        "start": {
          "line": 30,
          "column": 8
        },
        "end": {
          "line": 30,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 541,
      "end": 542,
      "loc": {
        "start": {
          "line": 30,
          "column": 11
        },
        "end": {
          "line": 30,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pattern",
      "start": 543,
      "end": 550,
      "loc": {
        "start": {
          "line": 30,
          "column": 13
        },
        "end": {
          "line": 30,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 550,
      "end": 551,
      "loc": {
        "start": {
          "line": 30,
          "column": 20
        },
        "end": {
          "line": 30,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "modifiers",
      "start": 552,
      "end": 561,
      "loc": {
        "start": {
          "line": 30,
          "column": 22
        },
        "end": {
          "line": 30,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 561,
      "end": 562,
      "loc": {
        "start": {
          "line": 30,
          "column": 31
        },
        "end": {
          "line": 30,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 563,
      "end": 564,
      "loc": {
        "start": {
          "line": 30,
          "column": 33
        },
        "end": {
          "line": 30,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 569,
      "end": 572,
      "loc": {
        "start": {
          "line": 31,
          "column": 4
        },
        "end": {
          "line": 31,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "_=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "+=",
      "start": 573,
      "end": 575,
      "loc": {
        "start": {
          "line": 31,
          "column": 8
        },
        "end": {
          "line": 31,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 576,
      "end": 578,
      "loc": {
        "start": {
          "line": 31,
          "column": 11
        },
        "end": {
          "line": 31,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 578,
      "end": 579,
      "loc": {
        "start": {
          "line": 31,
          "column": 13
        },
        "end": {
          "line": 31,
          "column": 14
        }
      }
    },
    {
      "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": 584,
      "end": 586,
      "loc": {
        "start": {
          "line": 32,
          "column": 4
        },
        "end": {
          "line": 32,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 587,
      "end": 588,
      "loc": {
        "start": {
          "line": 32,
          "column": 7
        },
        "end": {
          "line": 32,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 588,
      "end": 594,
      "loc": {
        "start": {
          "line": 32,
          "column": 8
        },
        "end": {
          "line": 32,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 594,
      "end": 595,
      "loc": {
        "start": {
          "line": 32,
          "column": 14
        },
        "end": {
          "line": 32,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prototype",
      "start": 595,
      "end": 604,
      "loc": {
        "start": {
          "line": 32,
          "column": 15
        },
        "end": {
          "line": 32,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 604,
      "end": 605,
      "loc": {
        "start": {
          "line": 32,
          "column": 24
        },
        "end": {
          "line": 32,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toString",
      "start": 605,
      "end": 613,
      "loc": {
        "start": {
          "line": 32,
          "column": 25
        },
        "end": {
          "line": 32,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 613,
      "end": 614,
      "loc": {
        "start": {
          "line": 32,
          "column": 33
        },
        "end": {
          "line": 32,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "call",
      "start": 614,
      "end": 618,
      "loc": {
        "start": {
          "line": 32,
          "column": 34
        },
        "end": {
          "line": 32,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 618,
      "end": 619,
      "loc": {
        "start": {
          "line": 32,
          "column": 38
        },
        "end": {
          "line": 32,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pattern",
      "start": 619,
      "end": 626,
      "loc": {
        "start": {
          "line": 32,
          "column": 39
        },
        "end": {
          "line": 32,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 626,
      "end": 627,
      "loc": {
        "start": {
          "line": 32,
          "column": 46
        },
        "end": {
          "line": 32,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 627,
      "end": 628,
      "loc": {
        "start": {
          "line": 32,
          "column": 47
        },
        "end": {
          "line": 32,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 628,
      "end": 633,
      "loc": {
        "start": {
          "line": 32,
          "column": 48
        },
        "end": {
          "line": 32,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 633,
      "end": 634,
      "loc": {
        "start": {
          "line": 32,
          "column": 53
        },
        "end": {
          "line": 32,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 8,
      "start": 634,
      "end": 635,
      "loc": {
        "start": {
          "line": 32,
          "column": 54
        },
        "end": {
          "line": 32,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 635,
      "end": 636,
      "loc": {
        "start": {
          "line": 32,
          "column": 55
        },
        "end": {
          "line": 32,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 637,
      "end": 638,
      "loc": {
        "start": {
          "line": 32,
          "column": 57
        },
        "end": {
          "line": 32,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 638,
      "end": 639,
      "loc": {
        "start": {
          "line": 32,
          "column": 58
        },
        "end": {
          "line": 32,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 639,
      "end": 640,
      "loc": {
        "start": {
          "line": 32,
          "column": 59
        },
        "end": {
          "line": 32,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 641,
      "end": 644,
      "loc": {
        "start": {
          "line": 32,
          "column": 61
        },
        "end": {
          "line": 32,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "RegExp",
      "start": 645,
      "end": 653,
      "loc": {
        "start": {
          "line": 32,
          "column": 65
        },
        "end": {
          "line": 32,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 653,
      "end": 654,
      "loc": {
        "start": {
          "line": 32,
          "column": 73
        },
        "end": {
          "line": 32,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 655,
      "end": 656,
      "loc": {
        "start": {
          "line": 32,
          "column": 75
        },
        "end": {
          "line": 32,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pattern",
      "start": 663,
      "end": 670,
      "loc": {
        "start": {
          "line": 33,
          "column": 6
        },
        "end": {
          "line": 33,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 671,
      "end": 672,
      "loc": {
        "start": {
          "line": 33,
          "column": 14
        },
        "end": {
          "line": 33,
          "column": 15
        }
      }
    },
    {
      "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": 673,
      "end": 676,
      "loc": {
        "start": {
          "line": 33,
          "column": 16
        },
        "end": {
          "line": 33,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "RegExp",
      "start": 677,
      "end": 683,
      "loc": {
        "start": {
          "line": 33,
          "column": 20
        },
        "end": {
          "line": 33,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 683,
      "end": 684,
      "loc": {
        "start": {
          "line": 33,
          "column": 26
        },
        "end": {
          "line": 33,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pattern",
      "start": 684,
      "end": 691,
      "loc": {
        "start": {
          "line": 33,
          "column": 27
        },
        "end": {
          "line": 33,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 691,
      "end": 692,
      "loc": {
        "start": {
          "line": 33,
          "column": 34
        },
        "end": {
          "line": 33,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "modifiers",
      "start": 693,
      "end": 702,
      "loc": {
        "start": {
          "line": 33,
          "column": 36
        },
        "end": {
          "line": 33,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 702,
      "end": 703,
      "loc": {
        "start": {
          "line": 33,
          "column": 45
        },
        "end": {
          "line": 33,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 703,
      "end": 704,
      "loc": {
        "start": {
          "line": 33,
          "column": 46
        },
        "end": {
          "line": 33,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 709,
      "end": 710,
      "loc": {
        "start": {
          "line": 34,
          "column": 4
        },
        "end": {
          "line": 34,
          "column": 5
        }
      }
    },
    {
      "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": 715,
      "end": 721,
      "loc": {
        "start": {
          "line": 35,
          "column": 4
        },
        "end": {
          "line": 35,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 722,
      "end": 725,
      "loc": {
        "start": {
          "line": 35,
          "column": 11
        },
        "end": {
          "line": 35,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 725,
      "end": 726,
      "loc": {
        "start": {
          "line": 35,
          "column": 14
        },
        "end": {
          "line": 35,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "match",
      "start": 726,
      "end": 731,
      "loc": {
        "start": {
          "line": 35,
          "column": 15
        },
        "end": {
          "line": 35,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 731,
      "end": 732,
      "loc": {
        "start": {
          "line": 35,
          "column": 20
        },
        "end": {
          "line": 35,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pattern",
      "start": 732,
      "end": 739,
      "loc": {
        "start": {
          "line": 35,
          "column": 21
        },
        "end": {
          "line": 35,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 739,
      "end": 740,
      "loc": {
        "start": {
          "line": 35,
          "column": 28
        },
        "end": {
          "line": 35,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 740,
      "end": 741,
      "loc": {
        "start": {
          "line": 35,
          "column": 29
        },
        "end": {
          "line": 35,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 744,
      "end": 745,
      "loc": {
        "start": {
          "line": 36,
          "column": 2
        },
        "end": {
          "line": 36,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 745,
      "end": 746,
      "loc": {
        "start": {
          "line": 36,
          "column": 3
        },
        "end": {
          "line": 36,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "notRegex",
      "start": 749,
      "end": 757,
      "loc": {
        "start": {
          "line": 37,
          "column": 2
        },
        "end": {
          "line": 37,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 757,
      "end": 758,
      "loc": {
        "start": {
          "line": 37,
          "column": 10
        },
        "end": {
          "line": 37,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 758,
      "end": 761,
      "loc": {
        "start": {
          "line": 37,
          "column": 11
        },
        "end": {
          "line": 37,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 761,
      "end": 762,
      "loc": {
        "start": {
          "line": 37,
          "column": 14
        },
        "end": {
          "line": 37,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pattern",
      "start": 763,
      "end": 770,
      "loc": {
        "start": {
          "line": 37,
          "column": 16
        },
        "end": {
          "line": 37,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 770,
      "end": 771,
      "loc": {
        "start": {
          "line": 37,
          "column": 23
        },
        "end": {
          "line": 37,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "modifiers",
      "start": 772,
      "end": 781,
      "loc": {
        "start": {
          "line": 37,
          "column": 25
        },
        "end": {
          "line": 37,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 781,
      "end": 782,
      "loc": {
        "start": {
          "line": 37,
          "column": 34
        },
        "end": {
          "line": 37,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 783,
      "end": 784,
      "loc": {
        "start": {
          "line": 37,
          "column": 36
        },
        "end": {
          "line": 37,
          "column": 37
        }
      }
    },
    {
      "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": 789,
      "end": 795,
      "loc": {
        "start": {
          "line": 38,
          "column": 4
        },
        "end": {
          "line": 38,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 796,
      "end": 797,
      "loc": {
        "start": {
          "line": 38,
          "column": 11
        },
        "end": {
          "line": 38,
          "column": 12
        }
      }
    },
    {
      "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": 797,
      "end": 801,
      "loc": {
        "start": {
          "line": 38,
          "column": 12
        },
        "end": {
          "line": 38,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 801,
      "end": 802,
      "loc": {
        "start": {
          "line": 38,
          "column": 16
        },
        "end": {
          "line": 38,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "regex",
      "start": 802,
      "end": 807,
      "loc": {
        "start": {
          "line": 38,
          "column": 17
        },
        "end": {
          "line": 38,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 807,
      "end": 808,
      "loc": {
        "start": {
          "line": 38,
          "column": 22
        },
        "end": {
          "line": 38,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 808,
      "end": 811,
      "loc": {
        "start": {
          "line": 38,
          "column": 23
        },
        "end": {
          "line": 38,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 811,
      "end": 812,
      "loc": {
        "start": {
          "line": 38,
          "column": 26
        },
        "end": {
          "line": 38,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pattern",
      "start": 813,
      "end": 820,
      "loc": {
        "start": {
          "line": 38,
          "column": 28
        },
        "end": {
          "line": 38,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 820,
      "end": 821,
      "loc": {
        "start": {
          "line": 38,
          "column": 35
        },
        "end": {
          "line": 38,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "modifiers",
      "start": 822,
      "end": 831,
      "loc": {
        "start": {
          "line": 38,
          "column": 37
        },
        "end": {
          "line": 38,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 831,
      "end": 832,
      "loc": {
        "start": {
          "line": 38,
          "column": 46
        },
        "end": {
          "line": 38,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 832,
      "end": 833,
      "loc": {
        "start": {
          "line": 38,
          "column": 47
        },
        "end": {
          "line": 38,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 836,
      "end": 837,
      "loc": {
        "start": {
          "line": 39,
          "column": 2
        },
        "end": {
          "line": 39,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 837,
      "end": 838,
      "loc": {
        "start": {
          "line": 39,
          "column": 3
        },
        "end": {
          "line": 39,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isDecimal",
      "start": 841,
      "end": 850,
      "loc": {
        "start": {
          "line": 40,
          "column": 2
        },
        "end": {
          "line": 40,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 850,
      "end": 851,
      "loc": {
        "start": {
          "line": 40,
          "column": 11
        },
        "end": {
          "line": 40,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 851,
      "end": 854,
      "loc": {
        "start": {
          "line": 40,
          "column": 12
        },
        "end": {
          "line": 40,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 854,
      "end": 855,
      "loc": {
        "start": {
          "line": 40,
          "column": 15
        },
        "end": {
          "line": 40,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 856,
      "end": 857,
      "loc": {
        "start": {
          "line": 40,
          "column": 17
        },
        "end": {
          "line": 40,
          "column": 18
        }
      }
    },
    {
      "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": 862,
      "end": 868,
      "loc": {
        "start": {
          "line": 41,
          "column": 4
        },
        "end": {
          "line": 41,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 869,
      "end": 872,
      "loc": {
        "start": {
          "line": 41,
          "column": 11
        },
        "end": {
          "line": 41,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 873,
      "end": 876,
      "loc": {
        "start": {
          "line": 41,
          "column": 15
        },
        "end": {
          "line": 41,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 877,
      "end": 879,
      "loc": {
        "start": {
          "line": 41,
          "column": 19
        },
        "end": {
          "line": 41,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 880,
      "end": 882,
      "loc": {
        "start": {
          "line": 41,
          "column": 22
        },
        "end": {
          "line": 41,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 883,
      "end": 884,
      "loc": {
        "start": {
          "line": 41,
          "column": 25
        },
        "end": {
          "line": 41,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 884,
      "end": 885,
      "loc": {
        "start": {
          "line": 41,
          "column": 26
        },
        "end": {
          "line": 41,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 885,
      "end": 888,
      "loc": {
        "start": {
          "line": 41,
          "column": 27
        },
        "end": {
          "line": 41,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 888,
      "end": 889,
      "loc": {
        "start": {
          "line": 41,
          "column": 30
        },
        "end": {
          "line": 41,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "match",
      "start": 889,
      "end": 894,
      "loc": {
        "start": {
          "line": 41,
          "column": 31
        },
        "end": {
          "line": 41,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 894,
      "end": 895,
      "loc": {
        "start": {
          "line": 41,
          "column": 36
        },
        "end": {
          "line": 41,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "regexp",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": {
        "pattern": "^(?:-?(?:[0-9]+))?(?:\\.[0-9]*)?(?:[eE][\\+\\-]?(?:[0-9]+))?$",
        "flags": ""
      },
      "start": 895,
      "end": 955,
      "loc": {
        "start": {
          "line": 41,
          "column": 37
        },
        "end": {
          "line": 41,
          "column": 97
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 955,
      "end": 956,
      "loc": {
        "start": {
          "line": 41,
          "column": 97
        },
        "end": {
          "line": 41,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 956,
      "end": 957,
      "loc": {
        "start": {
          "line": 41,
          "column": 98
        },
        "end": {
          "line": 41,
          "column": 99
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 960,
      "end": 961,
      "loc": {
        "start": {
          "line": 42,
          "column": 2
        },
        "end": {
          "line": 42,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 961,
      "end": 962,
      "loc": {
        "start": {
          "line": 42,
          "column": 3
        },
        "end": {
          "line": 42,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "min",
      "start": 965,
      "end": 968,
      "loc": {
        "start": {
          "line": 43,
          "column": 2
        },
        "end": {
          "line": 43,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 968,
      "end": 969,
      "loc": {
        "start": {
          "line": 43,
          "column": 5
        },
        "end": {
          "line": 43,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 969,
      "end": 972,
      "loc": {
        "start": {
          "line": 43,
          "column": 6
        },
        "end": {
          "line": 43,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 972,
      "end": 973,
      "loc": {
        "start": {
          "line": 43,
          "column": 9
        },
        "end": {
          "line": 43,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "val",
      "start": 974,
      "end": 977,
      "loc": {
        "start": {
          "line": 43,
          "column": 11
        },
        "end": {
          "line": 43,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 977,
      "end": 978,
      "loc": {
        "start": {
          "line": 43,
          "column": 14
        },
        "end": {
          "line": 43,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 979,
      "end": 980,
      "loc": {
        "start": {
          "line": 43,
          "column": 16
        },
        "end": {
          "line": 43,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 985,
      "end": 990,
      "loc": {
        "start": {
          "line": 44,
          "column": 4
        },
        "end": {
          "line": 44,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "number",
      "start": 991,
      "end": 997,
      "loc": {
        "start": {
          "line": 44,
          "column": 10
        },
        "end": {
          "line": 44,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 998,
      "end": 999,
      "loc": {
        "start": {
          "line": 44,
          "column": 17
        },
        "end": {
          "line": 44,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parseFloat",
      "start": 1000,
      "end": 1010,
      "loc": {
        "start": {
          "line": 44,
          "column": 19
        },
        "end": {
          "line": 44,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1010,
      "end": 1011,
      "loc": {
        "start": {
          "line": 44,
          "column": 29
        },
        "end": {
          "line": 44,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 1011,
      "end": 1014,
      "loc": {
        "start": {
          "line": 44,
          "column": 30
        },
        "end": {
          "line": 44,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1014,
      "end": 1015,
      "loc": {
        "start": {
          "line": 44,
          "column": 33
        },
        "end": {
          "line": 44,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1015,
      "end": 1016,
      "loc": {
        "start": {
          "line": 44,
          "column": 34
        },
        "end": {
          "line": 44,
          "column": 35
        }
      }
    },
    {
      "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": 1021,
      "end": 1027,
      "loc": {
        "start": {
          "line": 45,
          "column": 4
        },
        "end": {
          "line": 45,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isNaN",
      "start": 1028,
      "end": 1033,
      "loc": {
        "start": {
          "line": 45,
          "column": 11
        },
        "end": {
          "line": 45,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1033,
      "end": 1034,
      "loc": {
        "start": {
          "line": 45,
          "column": 16
        },
        "end": {
          "line": 45,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "number",
      "start": 1034,
      "end": 1040,
      "loc": {
        "start": {
          "line": 45,
          "column": 17
        },
        "end": {
          "line": 45,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1040,
      "end": 1041,
      "loc": {
        "start": {
          "line": 45,
          "column": 23
        },
        "end": {
          "line": 45,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 1042,
      "end": 1044,
      "loc": {
        "start": {
          "line": 45,
          "column": 25
        },
        "end": {
          "line": 45,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "number",
      "start": 1045,
      "end": 1051,
      "loc": {
        "start": {
          "line": 45,
          "column": 28
        },
        "end": {
          "line": 45,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">=",
      "start": 1052,
      "end": 1054,
      "loc": {
        "start": {
          "line": 45,
          "column": 35
        },
        "end": {
          "line": 45,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "val",
      "start": 1055,
      "end": 1058,
      "loc": {
        "start": {
          "line": 45,
          "column": 38
        },
        "end": {
          "line": 45,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1058,
      "end": 1059,
      "loc": {
        "start": {
          "line": 45,
          "column": 41
        },
        "end": {
          "line": 45,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1062,
      "end": 1063,
      "loc": {
        "start": {
          "line": 46,
          "column": 2
        },
        "end": {
          "line": 46,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1063,
      "end": 1064,
      "loc": {
        "start": {
          "line": 46,
          "column": 3
        },
        "end": {
          "line": 46,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "max",
      "start": 1067,
      "end": 1070,
      "loc": {
        "start": {
          "line": 47,
          "column": 2
        },
        "end": {
          "line": 47,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1070,
      "end": 1071,
      "loc": {
        "start": {
          "line": 47,
          "column": 5
        },
        "end": {
          "line": 47,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 1071,
      "end": 1074,
      "loc": {
        "start": {
          "line": 47,
          "column": 6
        },
        "end": {
          "line": 47,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1074,
      "end": 1075,
      "loc": {
        "start": {
          "line": 47,
          "column": 9
        },
        "end": {
          "line": 47,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "val",
      "start": 1076,
      "end": 1079,
      "loc": {
        "start": {
          "line": 47,
          "column": 11
        },
        "end": {
          "line": 47,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1079,
      "end": 1080,
      "loc": {
        "start": {
          "line": 47,
          "column": 14
        },
        "end": {
          "line": 47,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1081,
      "end": 1082,
      "loc": {
        "start": {
          "line": 47,
          "column": 16
        },
        "end": {
          "line": 47,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 1087,
      "end": 1092,
      "loc": {
        "start": {
          "line": 48,
          "column": 4
        },
        "end": {
          "line": 48,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "number",
      "start": 1093,
      "end": 1099,
      "loc": {
        "start": {
          "line": 48,
          "column": 10
        },
        "end": {
          "line": 48,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1100,
      "end": 1101,
      "loc": {
        "start": {
          "line": 48,
          "column": 17
        },
        "end": {
          "line": 48,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parseFloat",
      "start": 1102,
      "end": 1112,
      "loc": {
        "start": {
          "line": 48,
          "column": 19
        },
        "end": {
          "line": 48,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1112,
      "end": 1113,
      "loc": {
        "start": {
          "line": 48,
          "column": 29
        },
        "end": {
          "line": 48,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 1113,
      "end": 1116,
      "loc": {
        "start": {
          "line": 48,
          "column": 30
        },
        "end": {
          "line": 48,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1116,
      "end": 1117,
      "loc": {
        "start": {
          "line": 48,
          "column": 33
        },
        "end": {
          "line": 48,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1117,
      "end": 1118,
      "loc": {
        "start": {
          "line": 48,
          "column": 34
        },
        "end": {
          "line": 48,
          "column": 35
        }
      }
    },
    {
      "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": 1123,
      "end": 1129,
      "loc": {
        "start": {
          "line": 49,
          "column": 4
        },
        "end": {
          "line": 49,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isNaN",
      "start": 1130,
      "end": 1135,
      "loc": {
        "start": {
          "line": 49,
          "column": 11
        },
        "end": {
          "line": 49,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1135,
      "end": 1136,
      "loc": {
        "start": {
          "line": 49,
          "column": 16
        },
        "end": {
          "line": 49,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "number",
      "start": 1136,
      "end": 1142,
      "loc": {
        "start": {
          "line": 49,
          "column": 17
        },
        "end": {
          "line": 49,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1142,
      "end": 1143,
      "loc": {
        "start": {
          "line": 49,
          "column": 23
        },
        "end": {
          "line": 49,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 1144,
      "end": 1146,
      "loc": {
        "start": {
          "line": 49,
          "column": 25
        },
        "end": {
          "line": 49,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "number",
      "start": 1147,
      "end": 1153,
      "loc": {
        "start": {
          "line": 49,
          "column": 28
        },
        "end": {
          "line": 49,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<=",
      "start": 1154,
      "end": 1156,
      "loc": {
        "start": {
          "line": 49,
          "column": 35
        },
        "end": {
          "line": 49,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "val",
      "start": 1157,
      "end": 1160,
      "loc": {
        "start": {
          "line": 49,
          "column": 38
        },
        "end": {
          "line": 49,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1160,
      "end": 1161,
      "loc": {
        "start": {
          "line": 49,
          "column": 41
        },
        "end": {
          "line": 49,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1164,
      "end": 1165,
      "loc": {
        "start": {
          "line": 50,
          "column": 2
        },
        "end": {
          "line": 50,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1165,
      "end": 1166,
      "loc": {
        "start": {
          "line": 50,
          "column": 3
        },
        "end": {
          "line": 50,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "not",
      "start": 1169,
      "end": 1172,
      "loc": {
        "start": {
          "line": 51,
          "column": 2
        },
        "end": {
          "line": 51,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1172,
      "end": 1173,
      "loc": {
        "start": {
          "line": 51,
          "column": 5
        },
        "end": {
          "line": 51,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 1173,
      "end": 1176,
      "loc": {
        "start": {
          "line": 51,
          "column": 6
        },
        "end": {
          "line": 51,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1176,
      "end": 1177,
      "loc": {
        "start": {
          "line": 51,
          "column": 9
        },
        "end": {
          "line": 51,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pattern",
      "start": 1178,
      "end": 1185,
      "loc": {
        "start": {
          "line": 51,
          "column": 11
        },
        "end": {
          "line": 51,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1185,
      "end": 1186,
      "loc": {
        "start": {
          "line": 51,
          "column": 18
        },
        "end": {
          "line": 51,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "modifiers",
      "start": 1187,
      "end": 1196,
      "loc": {
        "start": {
          "line": 51,
          "column": 20
        },
        "end": {
          "line": 51,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1196,
      "end": 1197,
      "loc": {
        "start": {
          "line": 51,
          "column": 29
        },
        "end": {
          "line": 51,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1198,
      "end": 1199,
      "loc": {
        "start": {
          "line": 51,
          "column": 31
        },
        "end": {
          "line": 51,
          "column": 32
        }
      }
    },
    {
      "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": 1204,
      "end": 1210,
      "loc": {
        "start": {
          "line": 52,
          "column": 4
        },
        "end": {
          "line": 52,
          "column": 10
        }
      }
    },
    {
      "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": 1211,
      "end": 1215,
      "loc": {
        "start": {
          "line": 52,
          "column": 11
        },
        "end": {
          "line": 52,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1215,
      "end": 1216,
      "loc": {
        "start": {
          "line": 52,
          "column": 15
        },
        "end": {
          "line": 52,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "notRegex",
      "start": 1216,
      "end": 1224,
      "loc": {
        "start": {
          "line": 52,
          "column": 16
        },
        "end": {
          "line": 52,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1224,
      "end": 1225,
      "loc": {
        "start": {
          "line": 52,
          "column": 24
        },
        "end": {
          "line": 52,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 1225,
      "end": 1228,
      "loc": {
        "start": {
          "line": 52,
          "column": 25
        },
        "end": {
          "line": 52,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1228,
      "end": 1229,
      "loc": {
        "start": {
          "line": 52,
          "column": 28
        },
        "end": {
          "line": 52,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pattern",
      "start": 1230,
      "end": 1237,
      "loc": {
        "start": {
          "line": 52,
          "column": 30
        },
        "end": {
          "line": 52,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1237,
      "end": 1238,
      "loc": {
        "start": {
          "line": 52,
          "column": 37
        },
        "end": {
          "line": 52,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "modifiers",
      "start": 1239,
      "end": 1248,
      "loc": {
        "start": {
          "line": 52,
          "column": 39
        },
        "end": {
          "line": 52,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1248,
      "end": 1249,
      "loc": {
        "start": {
          "line": 52,
          "column": 48
        },
        "end": {
          "line": 52,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1249,
      "end": 1250,
      "loc": {
        "start": {
          "line": 52,
          "column": 49
        },
        "end": {
          "line": 52,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1253,
      "end": 1254,
      "loc": {
        "start": {
          "line": 53,
          "column": 2
        },
        "end": {
          "line": 53,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1254,
      "end": 1255,
      "loc": {
        "start": {
          "line": 53,
          "column": 3
        },
        "end": {
          "line": 53,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "contains",
      "start": 1258,
      "end": 1266,
      "loc": {
        "start": {
          "line": 54,
          "column": 2
        },
        "end": {
          "line": 54,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1266,
      "end": 1267,
      "loc": {
        "start": {
          "line": 54,
          "column": 10
        },
        "end": {
          "line": 54,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 1267,
      "end": 1270,
      "loc": {
        "start": {
          "line": 54,
          "column": 11
        },
        "end": {
          "line": 54,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1270,
      "end": 1271,
      "loc": {
        "start": {
          "line": 54,
          "column": 14
        },
        "end": {
          "line": 54,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "elem",
      "start": 1272,
      "end": 1276,
      "loc": {
        "start": {
          "line": 54,
          "column": 16
        },
        "end": {
          "line": 54,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1276,
      "end": 1277,
      "loc": {
        "start": {
          "line": 54,
          "column": 20
        },
        "end": {
          "line": 54,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1278,
      "end": 1279,
      "loc": {
        "start": {
          "line": 54,
          "column": 22
        },
        "end": {
          "line": 54,
          "column": 23
        }
      }
    },
    {
      "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": 1284,
      "end": 1290,
      "loc": {
        "start": {
          "line": 55,
          "column": 4
        },
        "end": {
          "line": 55,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 1291,
      "end": 1294,
      "loc": {
        "start": {
          "line": 55,
          "column": 11
        },
        "end": {
          "line": 55,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1294,
      "end": 1295,
      "loc": {
        "start": {
          "line": 55,
          "column": 14
        },
        "end": {
          "line": 55,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "indexOf",
      "start": 1295,
      "end": 1302,
      "loc": {
        "start": {
          "line": 55,
          "column": 15
        },
        "end": {
          "line": 55,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1302,
      "end": 1303,
      "loc": {
        "start": {
          "line": 55,
          "column": 22
        },
        "end": {
          "line": 55,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "elem",
      "start": 1303,
      "end": 1307,
      "loc": {
        "start": {
          "line": 55,
          "column": 23
        },
        "end": {
          "line": 55,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1307,
      "end": 1308,
      "loc": {
        "start": {
          "line": 55,
          "column": 27
        },
        "end": {
          "line": 55,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">=",
      "start": 1309,
      "end": 1311,
      "loc": {
        "start": {
          "line": 55,
          "column": 29
        },
        "end": {
          "line": 55,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1312,
      "end": 1313,
      "loc": {
        "start": {
          "line": 55,
          "column": 32
        },
        "end": {
          "line": 55,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1314,
      "end": 1316,
      "loc": {
        "start": {
          "line": 55,
          "column": 34
        },
        "end": {
          "line": 55,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1317,
      "end": 1318,
      "loc": {
        "start": {
          "line": 55,
          "column": 37
        },
        "end": {
          "line": 55,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1318,
      "end": 1319,
      "loc": {
        "start": {
          "line": 55,
          "column": 38
        },
        "end": {
          "line": 55,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "elem",
      "start": 1319,
      "end": 1323,
      "loc": {
        "start": {
          "line": 55,
          "column": 39
        },
        "end": {
          "line": 55,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1323,
      "end": 1324,
      "loc": {
        "start": {
          "line": 55,
          "column": 43
        },
        "end": {
          "line": 55,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1327,
      "end": 1328,
      "loc": {
        "start": {
          "line": 56,
          "column": 2
        },
        "end": {
          "line": 56,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1328,
      "end": 1329,
      "loc": {
        "start": {
          "line": 56,
          "column": 3
        },
        "end": {
          "line": 56,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "notContains",
      "start": 1332,
      "end": 1343,
      "loc": {
        "start": {
          "line": 57,
          "column": 2
        },
        "end": {
          "line": 57,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1343,
      "end": 1344,
      "loc": {
        "start": {
          "line": 57,
          "column": 13
        },
        "end": {
          "line": 57,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 1344,
      "end": 1347,
      "loc": {
        "start": {
          "line": 57,
          "column": 14
        },
        "end": {
          "line": 57,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1347,
      "end": 1348,
      "loc": {
        "start": {
          "line": 57,
          "column": 17
        },
        "end": {
          "line": 57,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "elem",
      "start": 1349,
      "end": 1353,
      "loc": {
        "start": {
          "line": 57,
          "column": 19
        },
        "end": {
          "line": 57,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1353,
      "end": 1354,
      "loc": {
        "start": {
          "line": 57,
          "column": 23
        },
        "end": {
          "line": 57,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1355,
      "end": 1356,
      "loc": {
        "start": {
          "line": 57,
          "column": 25
        },
        "end": {
          "line": 57,
          "column": 26
        }
      }
    },
    {
      "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": 1361,
      "end": 1367,
      "loc": {
        "start": {
          "line": 58,
          "column": 4
        },
        "end": {
          "line": 58,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1368,
      "end": 1369,
      "loc": {
        "start": {
          "line": 58,
          "column": 11
        },
        "end": {
          "line": 58,
          "column": 12
        }
      }
    },
    {
      "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": 1369,
      "end": 1373,
      "loc": {
        "start": {
          "line": 58,
          "column": 12
        },
        "end": {
          "line": 58,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1373,
      "end": 1374,
      "loc": {
        "start": {
          "line": 58,
          "column": 16
        },
        "end": {
          "line": 58,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "contains",
      "start": 1374,
      "end": 1382,
      "loc": {
        "start": {
          "line": 58,
          "column": 17
        },
        "end": {
          "line": 58,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1382,
      "end": 1383,
      "loc": {
        "start": {
          "line": 58,
          "column": 25
        },
        "end": {
          "line": 58,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 1383,
      "end": 1386,
      "loc": {
        "start": {
          "line": 58,
          "column": 26
        },
        "end": {
          "line": 58,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1386,
      "end": 1387,
      "loc": {
        "start": {
          "line": 58,
          "column": 29
        },
        "end": {
          "line": 58,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "elem",
      "start": 1388,
      "end": 1392,
      "loc": {
        "start": {
          "line": 58,
          "column": 31
        },
        "end": {
          "line": 58,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1392,
      "end": 1393,
      "loc": {
        "start": {
          "line": 58,
          "column": 35
        },
        "end": {
          "line": 58,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1393,
      "end": 1394,
      "loc": {
        "start": {
          "line": 58,
          "column": 36
        },
        "end": {
          "line": 58,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1397,
      "end": 1398,
      "loc": {
        "start": {
          "line": 59,
          "column": 2
        },
        "end": {
          "line": 59,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1398,
      "end": 1399,
      "loc": {
        "start": {
          "line": 59,
          "column": 3
        },
        "end": {
          "line": 59,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "is",
      "start": 1402,
      "end": 1404,
      "loc": {
        "start": {
          "line": 60,
          "column": 2
        },
        "end": {
          "line": 60,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1404,
      "end": 1405,
      "loc": {
        "start": {
          "line": 60,
          "column": 4
        },
        "end": {
          "line": 60,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 1405,
      "end": 1408,
      "loc": {
        "start": {
          "line": 60,
          "column": 5
        },
        "end": {
          "line": 60,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1408,
      "end": 1409,
      "loc": {
        "start": {
          "line": 60,
          "column": 8
        },
        "end": {
          "line": 60,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pattern",
      "start": 1410,
      "end": 1417,
      "loc": {
        "start": {
          "line": 60,
          "column": 10
        },
        "end": {
          "line": 60,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1417,
      "end": 1418,
      "loc": {
        "start": {
          "line": 60,
          "column": 17
        },
        "end": {
          "line": 60,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "modifiers",
      "start": 1419,
      "end": 1428,
      "loc": {
        "start": {
          "line": 60,
          "column": 19
        },
        "end": {
          "line": 60,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1428,
      "end": 1429,
      "loc": {
        "start": {
          "line": 60,
          "column": 28
        },
        "end": {
          "line": 60,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1430,
      "end": 1431,
      "loc": {
        "start": {
          "line": 60,
          "column": 30
        },
        "end": {
          "line": 60,
          "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": 1436,
      "end": 1442,
      "loc": {
        "start": {
          "line": 61,
          "column": 4
        },
        "end": {
          "line": 61,
          "column": 10
        }
      }
    },
    {
      "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": 1443,
      "end": 1447,
      "loc": {
        "start": {
          "line": 61,
          "column": 11
        },
        "end": {
          "line": 61,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1447,
      "end": 1448,
      "loc": {
        "start": {
          "line": 61,
          "column": 15
        },
        "end": {
          "line": 61,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "regex",
      "start": 1448,
      "end": 1453,
      "loc": {
        "start": {
          "line": 61,
          "column": 16
        },
        "end": {
          "line": 61,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1453,
      "end": 1454,
      "loc": {
        "start": {
          "line": 61,
          "column": 21
        },
        "end": {
          "line": 61,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 1454,
      "end": 1457,
      "loc": {
        "start": {
          "line": 61,
          "column": 22
        },
        "end": {
          "line": 61,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1457,
      "end": 1458,
      "loc": {
        "start": {
          "line": 61,
          "column": 25
        },
        "end": {
          "line": 61,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pattern",
      "start": 1459,
      "end": 1466,
      "loc": {
        "start": {
          "line": 61,
          "column": 27
        },
        "end": {
          "line": 61,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1466,
      "end": 1467,
      "loc": {
        "start": {
          "line": 61,
          "column": 34
        },
        "end": {
          "line": 61,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "modifiers",
      "start": 1468,
      "end": 1477,
      "loc": {
        "start": {
          "line": 61,
          "column": 36
        },
        "end": {
          "line": 61,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1477,
      "end": 1478,
      "loc": {
        "start": {
          "line": 61,
          "column": 45
        },
        "end": {
          "line": 61,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1478,
      "end": 1479,
      "loc": {
        "start": {
          "line": 61,
          "column": 46
        },
        "end": {
          "line": 61,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1482,
      "end": 1483,
      "loc": {
        "start": {
          "line": 62,
          "column": 2
        },
        "end": {
          "line": 62,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1484,
      "end": 1485,
      "loc": {
        "start": {
          "line": 63,
          "column": 0
        },
        "end": {
          "line": 63,
          "column": 1
        }
      }
    },
    {
      "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": 63,
          "column": 1
        },
        "end": {
          "line": 63,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 1487,
      "end": 1494,
      "loc": {
        "start": {
          "line": 64,
          "column": 0
        },
        "end": {
          "line": 64,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1494,
      "end": 1495,
      "loc": {
        "start": {
          "line": 64,
          "column": 7
        },
        "end": {
          "line": 64,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "extensions",
      "start": 1495,
      "end": 1505,
      "loc": {
        "start": {
          "line": 64,
          "column": 8
        },
        "end": {
          "line": 64,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1506,
      "end": 1507,
      "loc": {
        "start": {
          "line": 64,
          "column": 19
        },
        "end": {
          "line": 64,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "extensions",
      "start": 1508,
      "end": 1518,
      "loc": {
        "start": {
          "line": 64,
          "column": 21
        },
        "end": {
          "line": 64,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1518,
      "end": 1519,
      "loc": {
        "start": {
          "line": 64,
          "column": 31
        },
        "end": {
          "line": 64,
          "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": 1521,
      "end": 1529,
      "loc": {
        "start": {
          "line": 66,
          "column": 0
        },
        "end": {
          "line": 66,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "extendModelValidations",
      "start": 1530,
      "end": 1552,
      "loc": {
        "start": {
          "line": 66,
          "column": 9
        },
        "end": {
          "line": 66,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1552,
      "end": 1553,
      "loc": {
        "start": {
          "line": 66,
          "column": 31
        },
        "end": {
          "line": 66,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "modelInstance",
      "start": 1553,
      "end": 1566,
      "loc": {
        "start": {
          "line": 66,
          "column": 32
        },
        "end": {
          "line": 66,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1566,
      "end": 1567,
      "loc": {
        "start": {
          "line": 66,
          "column": 45
        },
        "end": {
          "line": 66,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1568,
      "end": 1569,
      "loc": {
        "start": {
          "line": 66,
          "column": 47
        },
        "end": {
          "line": 66,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 1572,
      "end": 1577,
      "loc": {
        "start": {
          "line": 67,
          "column": 2
        },
        "end": {
          "line": 67,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "extensions",
      "start": 1578,
      "end": 1588,
      "loc": {
        "start": {
          "line": 67,
          "column": 8
        },
        "end": {
          "line": 67,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1589,
      "end": 1590,
      "loc": {
        "start": {
          "line": 67,
          "column": 19
        },
        "end": {
          "line": 67,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1591,
      "end": 1592,
      "loc": {
        "start": {
          "line": 67,
          "column": 21
        },
        "end": {
          "line": 67,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isImmutable",
      "start": 1597,
      "end": 1608,
      "loc": {
        "start": {
          "line": 68,
          "column": 4
        },
        "end": {
          "line": 68,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1608,
      "end": 1609,
      "loc": {
        "start": {
          "line": 68,
          "column": 15
        },
        "end": {
          "line": 68,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "str",
      "start": 1609,
      "end": 1612,
      "loc": {
        "start": {
          "line": 68,
          "column": 16
        },
        "end": {
          "line": 68,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1612,
      "end": 1613,
      "loc": {
        "start": {
          "line": 68,
          "column": 19
        },
        "end": {
          "line": 68,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "param",
      "start": 1614,
      "end": 1619,
      "loc": {
        "start": {
          "line": 68,
          "column": 21
        },
        "end": {
          "line": 68,
          "column": 26
        }
      }
    },
    {
      "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": 68,
          "column": 26
        },
        "end": {
          "line": 68,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "field",
      "start": 1621,
      "end": 1626,
      "loc": {
        "start": {
          "line": 68,
          "column": 28
        },
        "end": {
          "line": 68,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1626,
      "end": 1627,
      "loc": {
        "start": {
          "line": 68,
          "column": 33
        },
        "end": {
          "line": 68,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1628,
      "end": 1629,
      "loc": {
        "start": {
          "line": 68,
          "column": 35
        },
        "end": {
          "line": 68,
          "column": 36
        }
      }
    },
    {
      "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": 1636,
      "end": 1642,
      "loc": {
        "start": {
          "line": 69,
          "column": 6
        },
        "end": {
          "line": 69,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1643,
      "end": 1644,
      "loc": {
        "start": {
          "line": 69,
          "column": 13
        },
        "end": {
          "line": 69,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "modelInstance",
      "start": 1644,
      "end": 1657,
      "loc": {
        "start": {
          "line": 69,
          "column": 14
        },
        "end": {
          "line": 69,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1657,
      "end": 1658,
      "loc": {
        "start": {
          "line": 69,
          "column": 27
        },
        "end": {
          "line": 69,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isNewRecord",
      "start": 1658,
      "end": 1669,
      "loc": {
        "start": {
          "line": 69,
          "column": 28
        },
        "end": {
          "line": 69,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 1670,
      "end": 1672,
      "loc": {
        "start": {
          "line": 69,
          "column": 40
        },
        "end": {
          "line": 69,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "modelInstance",
      "start": 1673,
      "end": 1686,
      "loc": {
        "start": {
          "line": 69,
          "column": 43
        },
        "end": {
          "line": 69,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1686,
      "end": 1687,
      "loc": {
        "start": {
          "line": 69,
          "column": 56
        },
        "end": {
          "line": 69,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "dataValues",
      "start": 1687,
      "end": 1697,
      "loc": {
        "start": {
          "line": 69,
          "column": 57
        },
        "end": {
          "line": 69,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1697,
      "end": 1698,
      "loc": {
        "start": {
          "line": 69,
          "column": 67
        },
        "end": {
          "line": 69,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "field",
      "start": 1698,
      "end": 1703,
      "loc": {
        "start": {
          "line": 69,
          "column": 68
        },
        "end": {
          "line": 69,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1703,
      "end": 1704,
      "loc": {
        "start": {
          "line": 69,
          "column": 73
        },
        "end": {
          "line": 69,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1705,
      "end": 1708,
      "loc": {
        "start": {
          "line": 69,
          "column": 75
        },
        "end": {
          "line": 69,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "modelInstance",
      "start": 1709,
      "end": 1722,
      "loc": {
        "start": {
          "line": 69,
          "column": 79
        },
        "end": {
          "line": 69,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1722,
      "end": 1723,
      "loc": {
        "start": {
          "line": 69,
          "column": 92
        },
        "end": {
          "line": 69,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_previousDataValues",
      "start": 1723,
      "end": 1742,
      "loc": {
        "start": {
          "line": 69,
          "column": 93
        },
        "end": {
          "line": 69,
          "column": 112
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1742,
      "end": 1743,
      "loc": {
        "start": {
          "line": 69,
          "column": 112
        },
        "end": {
          "line": 69,
          "column": 113
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "field",
      "start": 1743,
      "end": 1748,
      "loc": {
        "start": {
          "line": 69,
          "column": 113
        },
        "end": {
          "line": 69,
          "column": 118
        }
      }
    },
    {
      "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": 69,
          "column": 118
        },
        "end": {
          "line": 69,
          "column": 119
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1749,
      "end": 1750,
      "loc": {
        "start": {
          "line": 69,
          "column": 119
        },
        "end": {
          "line": 69,
          "column": 120
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1750,
      "end": 1751,
      "loc": {
        "start": {
          "line": 69,
          "column": 120
        },
        "end": {
          "line": 69,
          "column": 121
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1756,
      "end": 1757,
      "loc": {
        "start": {
          "line": 70,
          "column": 4
        },
        "end": {
          "line": 70,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1760,
      "end": 1761,
      "loc": {
        "start": {
          "line": 71,
          "column": 2
        },
        "end": {
          "line": 71,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1761,
      "end": 1762,
      "loc": {
        "start": {
          "line": 71,
          "column": 3
        },
        "end": {
          "line": 71,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_",
      "start": 1766,
      "end": 1767,
      "loc": {
        "start": {
          "line": 73,
          "column": 2
        },
        "end": {
          "line": 73,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1767,
      "end": 1768,
      "loc": {
        "start": {
          "line": 73,
          "column": 3
        },
        "end": {
          "line": 73,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forEach",
      "start": 1768,
      "end": 1775,
      "loc": {
        "start": {
          "line": 73,
          "column": 4
        },
        "end": {
          "line": 73,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1775,
      "end": 1776,
      "loc": {
        "start": {
          "line": 73,
          "column": 11
        },
        "end": {
          "line": 73,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "extensions",
      "start": 1776,
      "end": 1786,
      "loc": {
        "start": {
          "line": 73,
          "column": 12
        },
        "end": {
          "line": 73,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1786,
      "end": 1787,
      "loc": {
        "start": {
          "line": 73,
          "column": 22
        },
        "end": {
          "line": 73,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1788,
      "end": 1789,
      "loc": {
        "start": {
          "line": 73,
          "column": 24
        },
        "end": {
          "line": 73,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "extend",
      "start": 1789,
      "end": 1795,
      "loc": {
        "start": {
          "line": 73,
          "column": 25
        },
        "end": {
          "line": 73,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1795,
      "end": 1796,
      "loc": {
        "start": {
          "line": 73,
          "column": 31
        },
        "end": {
          "line": 73,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 1797,
      "end": 1800,
      "loc": {
        "start": {
          "line": 73,
          "column": 33
        },
        "end": {
          "line": 73,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1800,
      "end": 1801,
      "loc": {
        "start": {
          "line": 73,
          "column": 36
        },
        "end": {
          "line": 73,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1802,
      "end": 1804,
      "loc": {
        "start": {
          "line": 73,
          "column": 38
        },
        "end": {
          "line": 73,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1805,
      "end": 1806,
      "loc": {
        "start": {
          "line": 73,
          "column": 41
        },
        "end": {
          "line": 73,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "validator",
      "start": 1811,
      "end": 1820,
      "loc": {
        "start": {
          "line": 74,
          "column": 4
        },
        "end": {
          "line": 74,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1820,
      "end": 1821,
      "loc": {
        "start": {
          "line": 74,
          "column": 13
        },
        "end": {
          "line": 74,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 1821,
      "end": 1824,
      "loc": {
        "start": {
          "line": 74,
          "column": 14
        },
        "end": {
          "line": 74,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1824,
      "end": 1825,
      "loc": {
        "start": {
          "line": 74,
          "column": 17
        },
        "end": {
          "line": 74,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1826,
      "end": 1827,
      "loc": {
        "start": {
          "line": 74,
          "column": 19
        },
        "end": {
          "line": 74,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "extend",
      "start": 1828,
      "end": 1834,
      "loc": {
        "start": {
          "line": 74,
          "column": 21
        },
        "end": {
          "line": 74,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1834,
      "end": 1835,
      "loc": {
        "start": {
          "line": 74,
          "column": 27
        },
        "end": {
          "line": 74,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1838,
      "end": 1839,
      "loc": {
        "start": {
          "line": 75,
          "column": 2
        },
        "end": {
          "line": 75,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1839,
      "end": 1840,
      "loc": {
        "start": {
          "line": 75,
          "column": 3
        },
        "end": {
          "line": 75,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1840,
      "end": 1841,
      "loc": {
        "start": {
          "line": 75,
          "column": 4
        },
        "end": {
          "line": 75,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1842,
      "end": 1843,
      "loc": {
        "start": {
          "line": 76,
          "column": 0
        },
        "end": {
          "line": 76,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 1844,
      "end": 1851,
      "loc": {
        "start": {
          "line": 77,
          "column": 0
        },
        "end": {
          "line": 77,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1851,
      "end": 1852,
      "loc": {
        "start": {
          "line": 77,
          "column": 7
        },
        "end": {
          "line": 77,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "extendModelValidations",
      "start": 1852,
      "end": 1874,
      "loc": {
        "start": {
          "line": 77,
          "column": 8
        },
        "end": {
          "line": 77,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1875,
      "end": 1876,
      "loc": {
        "start": {
          "line": 77,
          "column": 31
        },
        "end": {
          "line": 77,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "extendModelValidations",
      "start": 1877,
      "end": 1899,
      "loc": {
        "start": {
          "line": 77,
          "column": 33
        },
        "end": {
          "line": 77,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1899,
      "end": 1900,
      "loc": {
        "start": {
          "line": 77,
          "column": 55
        },
        "end": {
          "line": 77,
          "column": 56
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Deprecate this.",
      "start": 1902,
      "end": 1920,
      "loc": {
        "start": {
          "line": 79,
          "column": 0
        },
        "end": {
          "line": 79,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "validator",
      "start": 1921,
      "end": 1930,
      "loc": {
        "start": {
          "line": 80,
          "column": 0
        },
        "end": {
          "line": 80,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1930,
      "end": 1931,
      "loc": {
        "start": {
          "line": 80,
          "column": 9
        },
        "end": {
          "line": 80,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "notNull",
      "start": 1931,
      "end": 1938,
      "loc": {
        "start": {
          "line": 80,
          "column": 10
        },
        "end": {
          "line": 80,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1939,
      "end": 1940,
      "loc": {
        "start": {
          "line": 80,
          "column": 18
        },
        "end": {
          "line": 80,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 1941,
      "end": 1949,
      "loc": {
        "start": {
          "line": 80,
          "column": 20
        },
        "end": {
          "line": 80,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1949,
      "end": 1950,
      "loc": {
        "start": {
          "line": 80,
          "column": 28
        },
        "end": {
          "line": 80,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1950,
      "end": 1951,
      "loc": {
        "start": {
          "line": 80,
          "column": 29
        },
        "end": {
          "line": 80,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1952,
      "end": 1953,
      "loc": {
        "start": {
          "line": 80,
          "column": 31
        },
        "end": {
          "line": 80,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "throw",
        "keyword": "throw",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "throw",
      "start": 1956,
      "end": 1961,
      "loc": {
        "start": {
          "line": 81,
          "column": 2
        },
        "end": {
          "line": 81,
          "column": 7
        }
      }
    },
    {
      "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": 1962,
      "end": 1965,
      "loc": {
        "start": {
          "line": 81,
          "column": 8
        },
        "end": {
          "line": 81,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 1966,
      "end": 1971,
      "loc": {
        "start": {
          "line": 81,
          "column": 12
        },
        "end": {
          "line": 81,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1971,
      "end": 1972,
      "loc": {
        "start": {
          "line": 81,
          "column": 17
        },
        "end": {
          "line": 81,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Warning \"notNull\" validation has been deprecated in favor of Schema based \"allowNull\"",
      "start": 1972,
      "end": 2059,
      "loc": {
        "start": {
          "line": 81,
          "column": 18
        },
        "end": {
          "line": 81,
          "column": 105
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2059,
      "end": 2060,
      "loc": {
        "start": {
          "line": 81,
          "column": 105
        },
        "end": {
          "line": 81,
          "column": 106
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2060,
      "end": 2061,
      "loc": {
        "start": {
          "line": 81,
          "column": 106
        },
        "end": {
          "line": 81,
          "column": 107
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2062,
      "end": 2063,
      "loc": {
        "start": {
          "line": 82,
          "column": 0
        },
        "end": {
          "line": 82,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2063,
      "end": 2064,
      "loc": {
        "start": {
          "line": 82,
          "column": 1
        },
        "end": {
          "line": 82,
          "column": 2
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " https://github.com/chriso/validator.js/blob/6.2.0/validator.js",
      "start": 2066,
      "end": 2131,
      "loc": {
        "start": {
          "line": 84,
          "column": 0
        },
        "end": {
          "line": 84,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_",
      "start": 2132,
      "end": 2133,
      "loc": {
        "start": {
          "line": 85,
          "column": 0
        },
        "end": {
          "line": 85,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2133,
      "end": 2134,
      "loc": {
        "start": {
          "line": 85,
          "column": 1
        },
        "end": {
          "line": 85,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forEach",
      "start": 2134,
      "end": 2141,
      "loc": {
        "start": {
          "line": 85,
          "column": 2
        },
        "end": {
          "line": 85,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2141,
      "end": 2142,
      "loc": {
        "start": {
          "line": 85,
          "column": 9
        },
        "end": {
          "line": 85,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "extensions",
      "start": 2142,
      "end": 2152,
      "loc": {
        "start": {
          "line": 85,
          "column": 10
        },
        "end": {
          "line": 85,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2152,
      "end": 2153,
      "loc": {
        "start": {
          "line": 85,
          "column": 20
        },
        "end": {
          "line": 85,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2154,
      "end": 2155,
      "loc": {
        "start": {
          "line": 85,
          "column": 22
        },
        "end": {
          "line": 85,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "extend",
      "start": 2155,
      "end": 2161,
      "loc": {
        "start": {
          "line": 85,
          "column": 23
        },
        "end": {
          "line": 85,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2161,
      "end": 2162,
      "loc": {
        "start": {
          "line": 85,
          "column": 29
        },
        "end": {
          "line": 85,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 2163,
      "end": 2166,
      "loc": {
        "start": {
          "line": 85,
          "column": 31
        },
        "end": {
          "line": 85,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2166,
      "end": 2167,
      "loc": {
        "start": {
          "line": 85,
          "column": 34
        },
        "end": {
          "line": 85,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2168,
      "end": 2170,
      "loc": {
        "start": {
          "line": 85,
          "column": 36
        },
        "end": {
          "line": 85,
          "column": 38
        }
      }
    },
    {
      "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": 85,
          "column": 39
        },
        "end": {
          "line": 85,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "validator",
      "start": 2175,
      "end": 2184,
      "loc": {
        "start": {
          "line": 86,
          "column": 2
        },
        "end": {
          "line": 86,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2184,
      "end": 2185,
      "loc": {
        "start": {
          "line": 86,
          "column": 11
        },
        "end": {
          "line": 86,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 2185,
      "end": 2188,
      "loc": {
        "start": {
          "line": 86,
          "column": 12
        },
        "end": {
          "line": 86,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2188,
      "end": 2189,
      "loc": {
        "start": {
          "line": 86,
          "column": 15
        },
        "end": {
          "line": 86,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2190,
      "end": 2191,
      "loc": {
        "start": {
          "line": 86,
          "column": 17
        },
        "end": {
          "line": 86,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "extend",
      "start": 2192,
      "end": 2198,
      "loc": {
        "start": {
          "line": 86,
          "column": 19
        },
        "end": {
          "line": 86,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2198,
      "end": 2199,
      "loc": {
        "start": {
          "line": 86,
          "column": 25
        },
        "end": {
          "line": 86,
          "column": 26
        }
      }
    },
    {
      "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": 87,
          "column": 0
        },
        "end": {
          "line": 87,
          "column": 1
        }
      }
    },
    {
      "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": 87,
          "column": 1
        },
        "end": {
          "line": 87,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2202,
      "end": 2203,
      "loc": {
        "start": {
          "line": 87,
          "column": 2
        },
        "end": {
          "line": 87,
          "column": 3
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " map isNull to isEmpty",
      "start": 2205,
      "end": 2229,
      "loc": {
        "start": {
          "line": 89,
          "column": 0
        },
        "end": {
          "line": 89,
          "column": 24
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " https://github.com/chriso/validator.js/commit/e33d38a26ee2f9666b319adb67c7fc0d3dea7125",
      "start": 2230,
      "end": 2319,
      "loc": {
        "start": {
          "line": 90,
          "column": 0
        },
        "end": {
          "line": 90,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "validator",
      "start": 2320,
      "end": 2329,
      "loc": {
        "start": {
          "line": 91,
          "column": 0
        },
        "end": {
          "line": 91,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2329,
      "end": 2330,
      "loc": {
        "start": {
          "line": 91,
          "column": 9
        },
        "end": {
          "line": 91,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isNull",
      "start": 2330,
      "end": 2336,
      "loc": {
        "start": {
          "line": 91,
          "column": 10
        },
        "end": {
          "line": 91,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2337,
      "end": 2338,
      "loc": {
        "start": {
          "line": 91,
          "column": 17
        },
        "end": {
          "line": 91,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "validator",
      "start": 2339,
      "end": 2348,
      "loc": {
        "start": {
          "line": 91,
          "column": 19
        },
        "end": {
          "line": 91,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2348,
      "end": 2349,
      "loc": {
        "start": {
          "line": 91,
          "column": 28
        },
        "end": {
          "line": 91,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isEmpty",
      "start": 2349,
      "end": 2356,
      "loc": {
        "start": {
          "line": 91,
          "column": 29
        },
        "end": {
          "line": 91,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2356,
      "end": 2357,
      "loc": {
        "start": {
          "line": 91,
          "column": 36
        },
        "end": {
          "line": 91,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 2359,
      "end": 2366,
      "loc": {
        "start": {
          "line": 93,
          "column": 0
        },
        "end": {
          "line": 93,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2366,
      "end": 2367,
      "loc": {
        "start": {
          "line": 93,
          "column": 7
        },
        "end": {
          "line": 93,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "validator",
      "start": 2367,
      "end": 2376,
      "loc": {
        "start": {
          "line": 93,
          "column": 8
        },
        "end": {
          "line": 93,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2377,
      "end": 2378,
      "loc": {
        "start": {
          "line": 93,
          "column": 18
        },
        "end": {
          "line": 93,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "validator",
      "start": 2379,
      "end": 2388,
      "loc": {
        "start": {
          "line": 93,
          "column": 20
        },
        "end": {
          "line": 93,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2388,
      "end": 2389,
      "loc": {
        "start": {
          "line": 93,
          "column": 29
        },
        "end": {
          "line": 93,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2390,
      "end": 2390,
      "loc": {
        "start": {
          "line": 94,
          "column": 0
        },
        "end": {
          "line": 94,
          "column": 0
        }
      }
    }
  ]
}