{
  "type": "File",
  "start": 0,
  "end": 2533,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 75,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 2533,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 75,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "VariableDeclaration",
        "start": 15,
        "end": 51,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 36
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 21,
            "end": 50,
            "loc": {
              "start": {
                "line": 3,
                "column": 6
              },
              "end": {
                "line": 3,
                "column": 35
              }
            },
            "id": {
              "type": "Identifier",
              "start": 21,
              "end": 26,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 6
                },
                "end": {
                  "line": 3,
                  "column": 11
                },
                "identifierName": "Utils"
              },
              "name": "Utils"
            },
            "init": {
              "type": "CallExpression",
              "start": 29,
              "end": 50,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 14
                },
                "end": {
                  "line": 3,
                  "column": 35
                }
              },
              "callee": {
                "type": "Identifier",
                "start": 29,
                "end": 36,
                "loc": {
                  "start": {
                    "line": 3,
                    "column": 14
                  },
                  "end": {
                    "line": 3,
                    "column": 21
                  },
                  "identifierName": "require"
                },
                "name": "require"
              },
              "arguments": [
                {
                  "type": "StringLiteral",
                  "start": 37,
                  "end": 49,
                  "loc": {
                    "start": {
                      "line": 3,
                      "column": 22
                    },
                    "end": {
                      "line": 3,
                      "column": 34
                    }
                  },
                  "extra": {
                    "rawValue": "./../utils",
                    "raw": "'./../utils'"
                  },
                  "value": "./../utils"
                }
              ]
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "FunctionDeclaration",
        "start": 53,
        "end": 449,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 13,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 62,
          "end": 82,
          "loc": {
            "start": {
              "line": 5,
              "column": 9
            },
            "end": {
              "line": 5,
              "column": 29
            },
            "identifierName": "checkNamingCollision"
          },
          "name": "checkNamingCollision"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 83,
            "end": 94,
            "loc": {
              "start": {
                "line": 5,
                "column": 30
              },
              "end": {
                "line": 5,
                "column": 41
              },
              "identifierName": "association"
            },
            "name": "association"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 96,
          "end": 449,
          "loc": {
            "start": {
              "line": 5,
              "column": 43
            },
            "end": {
              "line": 13,
              "column": 1
            }
          },
          "body": [
            {
              "type": "IfStatement",
              "start": 100,
              "end": 447,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 2
                },
                "end": {
                  "line": 12,
                  "column": 3
                }
              },
              "test": {
                "type": "CallExpression",
                "start": 104,
                "end": 167,
                "loc": {
                  "start": {
                    "line": 6,
                    "column": 6
                  },
                  "end": {
                    "line": 6,
                    "column": 69
                  }
                },
                "callee": {
                  "type": "MemberExpression",
                  "start": 104,
                  "end": 151,
                  "loc": {
                    "start": {
                      "line": 6,
                      "column": 6
                    },
                    "end": {
                      "line": 6,
                      "column": 53
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 104,
                    "end": 136,
                    "loc": {
                      "start": {
                        "line": 6,
                        "column": 6
                      },
                      "end": {
                        "line": 6,
                        "column": 38
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 104,
                      "end": 122,
                      "loc": {
                        "start": {
                          "line": 6,
                          "column": 6
                        },
                        "end": {
                          "line": 6,
                          "column": 24
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 104,
                        "end": 115,
                        "loc": {
                          "start": {
                            "line": 6,
                            "column": 6
                          },
                          "end": {
                            "line": 6,
                            "column": 17
                          },
                          "identifierName": "association"
                        },
                        "name": "association"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 116,
                        "end": 122,
                        "loc": {
                          "start": {
                            "line": 6,
                            "column": 18
                          },
                          "end": {
                            "line": 6,
                            "column": 24
                          },
                          "identifierName": "source"
                        },
                        "name": "source"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 123,
                      "end": 136,
                      "loc": {
                        "start": {
                          "line": 6,
                          "column": 25
                        },
                        "end": {
                          "line": 6,
                          "column": 38
                        },
                        "identifierName": "rawAttributes"
                      },
                      "name": "rawAttributes"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 137,
                    "end": 151,
                    "loc": {
                      "start": {
                        "line": 6,
                        "column": 39
                      },
                      "end": {
                        "line": 6,
                        "column": 53
                      },
                      "identifierName": "hasOwnProperty"
                    },
                    "name": "hasOwnProperty"
                  },
                  "computed": false
                },
                "arguments": [
                  {
                    "type": "MemberExpression",
                    "start": 152,
                    "end": 166,
                    "loc": {
                      "start": {
                        "line": 6,
                        "column": 54
                      },
                      "end": {
                        "line": 6,
                        "column": 68
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 152,
                      "end": 163,
                      "loc": {
                        "start": {
                          "line": 6,
                          "column": 54
                        },
                        "end": {
                          "line": 6,
                          "column": 65
                        },
                        "identifierName": "association"
                      },
                      "name": "association"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 164,
                      "end": 166,
                      "loc": {
                        "start": {
                          "line": 6,
                          "column": 66
                        },
                        "end": {
                          "line": 6,
                          "column": 68
                        },
                        "identifierName": "as"
                      },
                      "name": "as"
                    },
                    "computed": false
                  }
                ]
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 169,
                "end": 447,
                "loc": {
                  "start": {
                    "line": 6,
                    "column": 71
                  },
                  "end": {
                    "line": 12,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ThrowStatement",
                    "start": 175,
                    "end": 443,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 4
                      },
                      "end": {
                        "line": 11,
                        "column": 6
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 181,
                      "end": 442,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 10
                        },
                        "end": {
                          "line": 11,
                          "column": 5
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 185,
                        "end": 190,
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 14
                          },
                          "end": {
                            "line": 7,
                            "column": 19
                          },
                          "identifierName": "Error"
                        },
                        "name": "Error"
                      },
                      "arguments": [
                        {
                          "type": "BinaryExpression",
                          "start": 198,
                          "end": 436,
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 6
                            },
                            "end": {
                              "line": 10,
                              "column": 87
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 198,
                            "end": 346,
                            "loc": {
                              "start": {
                                "line": 8,
                                "column": 6
                              },
                              "end": {
                                "line": 9,
                                "column": 89
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 198,
                              "end": 320,
                              "loc": {
                                "start": {
                                  "line": 8,
                                  "column": 6
                                },
                                "end": {
                                  "line": 9,
                                  "column": 63
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 198,
                                "end": 303,
                                "loc": {
                                  "start": {
                                    "line": 8,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 9,
                                    "column": 46
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 198,
                                  "end": 286,
                                  "loc": {
                                    "start": {
                                      "line": 8,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 9,
                                      "column": 29
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 198,
                                    "end": 254,
                                    "loc": {
                                      "start": {
                                        "line": 8,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 8,
                                        "column": 62
                                      }
                                    },
                                    "left": {
                                      "type": "StringLiteral",
                                      "start": 198,
                                      "end": 237,
                                      "loc": {
                                        "start": {
                                          "line": 8,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 8,
                                          "column": 45
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "Naming collision between attribute '",
                                        "raw": "'Naming collision between attribute \\''"
                                      },
                                      "value": "Naming collision between attribute '"
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 240,
                                      "end": 254,
                                      "loc": {
                                        "start": {
                                          "line": 8,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 8,
                                          "column": 62
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 240,
                                        "end": 251,
                                        "loc": {
                                          "start": {
                                            "line": 8,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 8,
                                            "column": 59
                                          },
                                          "identifierName": "association"
                                        },
                                        "name": "association"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 252,
                                        "end": 254,
                                        "loc": {
                                          "start": {
                                            "line": 8,
                                            "column": 60
                                          },
                                          "end": {
                                            "line": 8,
                                            "column": 62
                                          },
                                          "identifierName": "as"
                                        },
                                        "name": "as"
                                      },
                                      "computed": false
                                    }
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "StringLiteral",
                                    "start": 263,
                                    "end": 286,
                                    "loc": {
                                      "start": {
                                        "line": 9,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 9,
                                        "column": 29
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "' and association '",
                                      "raw": "'\\' and association \\''"
                                    },
                                    "value": "' and association '"
                                  }
                                },
                                "operator": "+",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 289,
                                  "end": 303,
                                  "loc": {
                                    "start": {
                                      "line": 9,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 9,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 289,
                                    "end": 300,
                                    "loc": {
                                      "start": {
                                        "line": 9,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 9,
                                        "column": 43
                                      },
                                      "identifierName": "association"
                                    },
                                    "name": "association"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 301,
                                    "end": 303,
                                    "loc": {
                                      "start": {
                                        "line": 9,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 9,
                                        "column": 46
                                      },
                                      "identifierName": "as"
                                    },
                                    "name": "as"
                                  },
                                  "computed": false
                                }
                              },
                              "operator": "+",
                              "right": {
                                "type": "StringLiteral",
                                "start": 306,
                                "end": 320,
                                "loc": {
                                  "start": {
                                    "line": 9,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 9,
                                    "column": 63
                                  }
                                },
                                "extra": {
                                  "rawValue": "' on model ",
                                  "raw": "'\\' on model '"
                                },
                                "value": "' on model "
                              }
                            },
                            "operator": "+",
                            "right": {
                              "type": "MemberExpression",
                              "start": 323,
                              "end": 346,
                              "loc": {
                                "start": {
                                  "line": 9,
                                  "column": 66
                                },
                                "end": {
                                  "line": 9,
                                  "column": 89
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 323,
                                "end": 341,
                                "loc": {
                                  "start": {
                                    "line": 9,
                                    "column": 66
                                  },
                                  "end": {
                                    "line": 9,
                                    "column": 84
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 323,
                                  "end": 334,
                                  "loc": {
                                    "start": {
                                      "line": 9,
                                      "column": 66
                                    },
                                    "end": {
                                      "line": 9,
                                      "column": 77
                                    },
                                    "identifierName": "association"
                                  },
                                  "name": "association"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 335,
                                  "end": 341,
                                  "loc": {
                                    "start": {
                                      "line": 9,
                                      "column": 78
                                    },
                                    "end": {
                                      "line": 9,
                                      "column": 84
                                    },
                                    "identifierName": "source"
                                  },
                                  "name": "source"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 342,
                                "end": 346,
                                "loc": {
                                  "start": {
                                    "line": 9,
                                    "column": 85
                                  },
                                  "end": {
                                    "line": 9,
                                    "column": 89
                                  },
                                  "identifierName": "name"
                                },
                                "name": "name"
                              },
                              "computed": false
                            }
                          },
                          "operator": "+",
                          "right": {
                            "type": "StringLiteral",
                            "start": 355,
                            "end": 436,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 6
                              },
                              "end": {
                                "line": 10,
                                "column": 87
                              }
                            },
                            "extra": {
                              "rawValue": ". To remedy this, change either foreignKey or as in your association definition",
                              "raw": "'. To remedy this, change either foreignKey or as in your association definition'"
                            },
                            "value": ". To remedy this, change either foreignKey or as in your association definition"
                          }
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              },
              "alternate": null
            }
          ],
          "directives": []
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 450,
        "end": 502,
        "loc": {
          "start": {
            "line": 14,
            "column": 0
          },
          "end": {
            "line": 14,
            "column": 52
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 450,
          "end": 501,
          "loc": {
            "start": {
              "line": 14,
              "column": 0
            },
            "end": {
              "line": 14,
              "column": 51
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 450,
            "end": 478,
            "loc": {
              "start": {
                "line": 14,
                "column": 0
              },
              "end": {
                "line": 14,
                "column": 28
              }
            },
            "object": {
              "type": "Identifier",
              "start": 450,
              "end": 457,
              "loc": {
                "start": {
                  "line": 14,
                  "column": 0
                },
                "end": {
                  "line": 14,
                  "column": 7
                },
                "identifierName": "exports"
              },
              "name": "exports"
            },
            "property": {
              "type": "Identifier",
              "start": 458,
              "end": 478,
              "loc": {
                "start": {
                  "line": 14,
                  "column": 8
                },
                "end": {
                  "line": 14,
                  "column": 28
                },
                "identifierName": "checkNamingCollision"
              },
              "name": "checkNamingCollision"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 481,
            "end": 501,
            "loc": {
              "start": {
                "line": 14,
                "column": 31
              },
              "end": {
                "line": 14,
                "column": 51
              },
              "identifierName": "checkNamingCollision"
            },
            "name": "checkNamingCollision"
          }
        }
      },
      {
        "type": "FunctionDeclaration",
        "start": 504,
        "end": 1671,
        "loc": {
          "start": {
            "line": 16,
            "column": 0
          },
          "end": {
            "line": 45,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 513,
          "end": 537,
          "loc": {
            "start": {
              "line": 16,
              "column": 9
            },
            "end": {
              "line": 16,
              "column": 33
            },
            "identifierName": "addForeignKeyConstraints"
          },
          "name": "addForeignKeyConstraints"
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 538,
            "end": 550,
            "loc": {
              "start": {
                "line": 16,
                "column": 34
              },
              "end": {
                "line": 16,
                "column": 46
              },
              "identifierName": "newAttribute"
            },
            "name": "newAttribute"
          },
          {
            "type": "Identifier",
            "start": 552,
            "end": 558,
            "loc": {
              "start": {
                "line": 16,
                "column": 48
              },
              "end": {
                "line": 16,
                "column": 54
              },
              "identifierName": "source"
            },
            "name": "source"
          },
          {
            "type": "Identifier",
            "start": 560,
            "end": 566,
            "loc": {
              "start": {
                "line": 16,
                "column": 56
              },
              "end": {
                "line": 16,
                "column": 62
              },
              "identifierName": "target"
            },
            "name": "target"
          },
          {
            "type": "Identifier",
            "start": 568,
            "end": 575,
            "loc": {
              "start": {
                "line": 16,
                "column": 64
              },
              "end": {
                "line": 16,
                "column": 71
              },
              "identifierName": "options"
            },
            "name": "options"
          },
          {
            "type": "Identifier",
            "start": 577,
            "end": 580,
            "loc": {
              "start": {
                "line": 16,
                "column": 73
              },
              "end": {
                "line": 16,
                "column": 76
              },
              "identifierName": "key"
            },
            "name": "key"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 582,
          "end": 1671,
          "loc": {
            "start": {
              "line": 16,
              "column": 78
            },
            "end": {
              "line": 45,
              "column": 1
            }
          },
          "body": [
            {
              "type": "IfStatement",
              "start": 739,
              "end": 1669,
              "loc": {
                "start": {
                  "line": 20,
                  "column": 2
                },
                "end": {
                  "line": 44,
                  "column": 3
                }
              },
              "test": {
                "type": "LogicalExpression",
                "start": 743,
                "end": 811,
                "loc": {
                  "start": {
                    "line": 20,
                    "column": 6
                  },
                  "end": {
                    "line": 20,
                    "column": 74
                  }
                },
                "left": {
                  "type": "LogicalExpression",
                  "start": 743,
                  "end": 791,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 6
                    },
                    "end": {
                      "line": 20,
                      "column": 54
                    }
                  },
                  "left": {
                    "type": "MemberExpression",
                    "start": 743,
                    "end": 771,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 6
                      },
                      "end": {
                        "line": 20,
                        "column": 34
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 743,
                      "end": 750,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 6
                        },
                        "end": {
                          "line": 20,
                          "column": 13
                        },
                        "identifierName": "options"
                      },
                      "name": "options",
                      "leadingComments": null
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 751,
                      "end": 771,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 14
                        },
                        "end": {
                          "line": 20,
                          "column": 34
                        },
                        "identifierName": "foreignKeyConstraint"
                      },
                      "name": "foreignKeyConstraint"
                    },
                    "computed": false,
                    "leadingComments": null
                  },
                  "operator": "||",
                  "right": {
                    "type": "MemberExpression",
                    "start": 775,
                    "end": 791,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 38
                      },
                      "end": {
                        "line": 20,
                        "column": 54
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 775,
                      "end": 782,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 38
                        },
                        "end": {
                          "line": 20,
                          "column": 45
                        },
                        "identifierName": "options"
                      },
                      "name": "options"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 783,
                      "end": 791,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 46
                        },
                        "end": {
                          "line": 20,
                          "column": 54
                        },
                        "identifierName": "onDelete"
                      },
                      "name": "onDelete"
                    },
                    "computed": false
                  },
                  "leadingComments": null
                },
                "operator": "||",
                "right": {
                  "type": "MemberExpression",
                  "start": 795,
                  "end": 811,
                  "loc": {
                    "start": {
                      "line": 20,
                      "column": 58
                    },
                    "end": {
                      "line": 20,
                      "column": 74
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 795,
                    "end": 802,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 58
                      },
                      "end": {
                        "line": 20,
                        "column": 65
                      },
                      "identifierName": "options"
                    },
                    "name": "options"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 803,
                    "end": 811,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 66
                      },
                      "end": {
                        "line": 20,
                        "column": 74
                      },
                      "identifierName": "onUpdate"
                    },
                    "name": "onUpdate"
                  },
                  "computed": false
                },
                "leadingComments": null
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 813,
                "end": 1669,
                "loc": {
                  "start": {
                    "line": 20,
                    "column": 76
                  },
                  "end": {
                    "line": 44,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 894,
                    "end": 1082,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 4
                      },
                      "end": {
                        "line": 25,
                        "column": 66
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 900,
                        "end": 1081,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 10
                          },
                          "end": {
                            "line": 25,
                            "column": 65
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 900,
                          "end": 911,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 10
                            },
                            "end": {
                              "line": 23,
                              "column": 21
                            },
                            "identifierName": "primaryKeys"
                          },
                          "name": "primaryKeys",
                          "leadingComments": null
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 914,
                          "end": 1081,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 24
                            },
                            "end": {
                              "line": 25,
                              "column": 65
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 914,
                            "end": 1079,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 24
                              },
                              "end": {
                                "line": 25,
                                "column": 63
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 914,
                              "end": 1073,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 24
                                },
                                "end": {
                                  "line": 25,
                                  "column": 57
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 914,
                                "end": 1026,
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 10
                                  }
                                },
                                "object": {
                                  "type": "CallExpression",
                                  "start": 914,
                                  "end": 1015,
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 24,
                                      "column": 58
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 914,
                                    "end": 970,
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 24,
                                        "column": 13
                                      }
                                    },
                                    "object": {
                                      "type": "CallExpression",
                                      "start": 914,
                                      "end": 956,
                                      "loc": {
                                        "start": {
                                          "line": 23,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 23,
                                          "column": 66
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 914,
                                        "end": 954,
                                        "loc": {
                                          "start": {
                                            "line": 23,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 23,
                                            "column": 64
                                          }
                                        },
                                        "object": {
                                          "type": "CallExpression",
                                          "start": 914,
                                          "end": 949,
                                          "loc": {
                                            "start": {
                                              "line": 23,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 23,
                                              "column": 59
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 914,
                                            "end": 927,
                                            "loc": {
                                              "start": {
                                                "line": 23,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 23,
                                                "column": 37
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 914,
                                              "end": 921,
                                              "loc": {
                                                "start": {
                                                  "line": 23,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 23,
                                                  "column": 31
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 914,
                                                "end": 919,
                                                "loc": {
                                                  "start": {
                                                    "line": 23,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 23,
                                                    "column": 29
                                                  },
                                                  "identifierName": "Utils"
                                                },
                                                "name": "Utils"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 920,
                                                "end": 921,
                                                "loc": {
                                                  "start": {
                                                    "line": 23,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 23,
                                                    "column": 31
                                                  },
                                                  "identifierName": "_"
                                                },
                                                "name": "_"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 922,
                                              "end": 927,
                                              "loc": {
                                                "start": {
                                                  "line": 23,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 23,
                                                  "column": 37
                                                },
                                                "identifierName": "chain"
                                              },
                                              "name": "chain"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "start": 928,
                                              "end": 948,
                                              "loc": {
                                                "start": {
                                                  "line": 23,
                                                  "column": 38
                                                },
                                                "end": {
                                                  "line": 23,
                                                  "column": 58
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 928,
                                                "end": 934,
                                                "loc": {
                                                  "start": {
                                                    "line": 23,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 23,
                                                    "column": 44
                                                  },
                                                  "identifierName": "source"
                                                },
                                                "name": "source"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 935,
                                                "end": 948,
                                                "loc": {
                                                  "start": {
                                                    "line": 23,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 23,
                                                    "column": 58
                                                  },
                                                  "identifierName": "rawAttributes"
                                                },
                                                "name": "rawAttributes"
                                              },
                                              "computed": false
                                            }
                                          ]
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 950,
                                          "end": 954,
                                          "loc": {
                                            "start": {
                                              "line": 23,
                                              "column": 60
                                            },
                                            "end": {
                                              "line": 23,
                                              "column": 64
                                            },
                                            "identifierName": "keys"
                                          },
                                          "name": "keys"
                                        },
                                        "computed": false
                                      },
                                      "arguments": []
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 964,
                                      "end": 970,
                                      "loc": {
                                        "start": {
                                          "line": 24,
                                          "column": 7
                                        },
                                        "end": {
                                          "line": 24,
                                          "column": 13
                                        },
                                        "identifierName": "filter"
                                      },
                                      "name": "filter"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "ArrowFunctionExpression",
                                      "start": 971,
                                      "end": 1014,
                                      "loc": {
                                        "start": {
                                          "line": 24,
                                          "column": 14
                                        },
                                        "end": {
                                          "line": 24,
                                          "column": 57
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": true,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 971,
                                          "end": 974,
                                          "loc": {
                                            "start": {
                                              "line": 24,
                                              "column": 14
                                            },
                                            "end": {
                                              "line": 24,
                                              "column": 17
                                            },
                                            "identifierName": "key"
                                          },
                                          "name": "key"
                                        }
                                      ],
                                      "body": {
                                        "type": "MemberExpression",
                                        "start": 978,
                                        "end": 1014,
                                        "loc": {
                                          "start": {
                                            "line": 24,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 24,
                                            "column": 57
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 978,
                                          "end": 1003,
                                          "loc": {
                                            "start": {
                                              "line": 24,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 24,
                                              "column": 46
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 978,
                                            "end": 998,
                                            "loc": {
                                              "start": {
                                                "line": 24,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 24,
                                                "column": 41
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 978,
                                              "end": 984,
                                              "loc": {
                                                "start": {
                                                  "line": 24,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 24,
                                                  "column": 27
                                                },
                                                "identifierName": "source"
                                              },
                                              "name": "source"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 985,
                                              "end": 998,
                                              "loc": {
                                                "start": {
                                                  "line": 24,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 24,
                                                  "column": 41
                                                },
                                                "identifierName": "rawAttributes"
                                              },
                                              "name": "rawAttributes"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 999,
                                            "end": 1002,
                                            "loc": {
                                              "start": {
                                                "line": 24,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 24,
                                                "column": 45
                                              },
                                              "identifierName": "key"
                                            },
                                            "name": "key"
                                          },
                                          "computed": true
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1004,
                                          "end": 1014,
                                          "loc": {
                                            "start": {
                                              "line": 24,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 24,
                                              "column": 57
                                            },
                                            "identifierName": "primaryKey"
                                          },
                                          "name": "primaryKey"
                                        },
                                        "computed": false
                                      }
                                    }
                                  ]
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1023,
                                  "end": 1026,
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 7
                                    },
                                    "end": {
                                      "line": 25,
                                      "column": 10
                                    },
                                    "identifierName": "map"
                                  },
                                  "name": "map"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 1027,
                                  "end": 1072,
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 25,
                                      "column": 56
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": true,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 1027,
                                      "end": 1030,
                                      "loc": {
                                        "start": {
                                          "line": 25,
                                          "column": 11
                                        },
                                        "end": {
                                          "line": 25,
                                          "column": 14
                                        },
                                        "identifierName": "key"
                                      },
                                      "name": "key"
                                    }
                                  ],
                                  "body": {
                                    "type": "LogicalExpression",
                                    "start": 1034,
                                    "end": 1072,
                                    "loc": {
                                      "start": {
                                        "line": 25,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 25,
                                        "column": 56
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 1034,
                                      "end": 1065,
                                      "loc": {
                                        "start": {
                                          "line": 25,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 25,
                                          "column": 49
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 1034,
                                        "end": 1059,
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 25,
                                            "column": 43
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 1034,
                                          "end": 1054,
                                          "loc": {
                                            "start": {
                                              "line": 25,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 25,
                                              "column": 38
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 1034,
                                            "end": 1040,
                                            "loc": {
                                              "start": {
                                                "line": 25,
                                                "column": 18
                                              },
                                              "end": {
                                                "line": 25,
                                                "column": 24
                                              },
                                              "identifierName": "source"
                                            },
                                            "name": "source"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1041,
                                            "end": 1054,
                                            "loc": {
                                              "start": {
                                                "line": 25,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 25,
                                                "column": 38
                                              },
                                              "identifierName": "rawAttributes"
                                            },
                                            "name": "rawAttributes"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1055,
                                          "end": 1058,
                                          "loc": {
                                            "start": {
                                              "line": 25,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 25,
                                              "column": 42
                                            },
                                            "identifierName": "key"
                                          },
                                          "name": "key"
                                        },
                                        "computed": true
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1060,
                                        "end": 1065,
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 25,
                                            "column": 49
                                          },
                                          "identifierName": "field"
                                        },
                                        "name": "field"
                                      },
                                      "computed": false
                                    },
                                    "operator": "||",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 1069,
                                      "end": 1072,
                                      "loc": {
                                        "start": {
                                          "line": 25,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 25,
                                          "column": 56
                                        },
                                        "identifierName": "key"
                                      },
                                      "name": "key"
                                    }
                                  }
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1074,
                              "end": 1079,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 58
                                },
                                "end": {
                                  "line": 25,
                                  "column": 63
                                },
                                "identifierName": "value"
                              },
                              "name": "value"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      }
                    ],
                    "kind": "const",
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " Find primary keys: composite keys not supported with this approach",
                        "start": 820,
                        "end": 889,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 4
                          },
                          "end": {
                            "line": 22,
                            "column": 73
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "IfStatement",
                    "start": 1088,
                    "end": 1665,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 4
                      },
                      "end": {
                        "line": 43,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 1092,
                      "end": 1116,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 8
                        },
                        "end": {
                          "line": 27,
                          "column": 32
                        }
                      },
                      "left": {
                        "type": "MemberExpression",
                        "start": 1092,
                        "end": 1110,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 8
                          },
                          "end": {
                            "line": 27,
                            "column": 26
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1092,
                          "end": 1103,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 8
                            },
                            "end": {
                              "line": 27,
                              "column": 19
                            },
                            "identifierName": "primaryKeys"
                          },
                          "name": "primaryKeys"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1104,
                          "end": 1110,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 20
                            },
                            "end": {
                              "line": 27,
                              "column": 26
                            },
                            "identifierName": "length"
                          },
                          "name": "length"
                        },
                        "computed": false
                      },
                      "operator": "===",
                      "right": {
                        "type": "NumericLiteral",
                        "start": 1115,
                        "end": 1116,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 31
                          },
                          "end": {
                            "line": 27,
                            "column": 32
                          }
                        },
                        "extra": {
                          "rawValue": 1,
                          "raw": "1"
                        },
                        "value": 1
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 1118,
                      "end": 1665,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 34
                        },
                        "end": {
                          "line": 43,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 1126,
                          "end": 1503,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 6
                            },
                            "end": {
                              "line": 38,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "UnaryExpression",
                            "start": 1130,
                            "end": 1146,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 10
                              },
                              "end": {
                                "line": 28,
                                "column": 26
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "UnaryExpression",
                              "start": 1131,
                              "end": 1146,
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 11
                                },
                                "end": {
                                  "line": 28,
                                  "column": 26
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 1132,
                                "end": 1146,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1132,
                                  "end": 1138,
                                  "loc": {
                                    "start": {
                                      "line": 28,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 28,
                                      "column": 18
                                    },
                                    "identifierName": "source"
                                  },
                                  "name": "source"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1139,
                                  "end": 1146,
                                  "loc": {
                                    "start": {
                                      "line": 28,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 28,
                                      "column": 26
                                    },
                                    "identifierName": "_schema"
                                  },
                                  "name": "_schema"
                                },
                                "computed": false
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              }
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            }
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 1148,
                            "end": 1425,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 28
                              },
                              "end": {
                                "line": 36,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 1158,
                                "end": 1417,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 10
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 1158,
                                  "end": 1416,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 9
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 1158,
                                    "end": 1181,
                                    "loc": {
                                      "start": {
                                        "line": 29,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 29,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1158,
                                      "end": 1170,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 20
                                        },
                                        "identifierName": "newAttribute"
                                      },
                                      "name": "newAttribute"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1171,
                                      "end": 1181,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 31
                                        },
                                        "identifierName": "references"
                                      },
                                      "name": "references"
                                    },
                                    "computed": false
                                  },
                                  "right": {
                                    "type": "ObjectExpression",
                                    "start": 1184,
                                    "end": 1416,
                                    "loc": {
                                      "start": {
                                        "line": 29,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 35,
                                        "column": 9
                                      }
                                    },
                                    "properties": [
                                      {
                                        "type": "ObjectProperty",
                                        "start": 1196,
                                        "end": 1406,
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 34,
                                            "column": 12
                                          }
                                        },
                                        "method": false,
                                        "shorthand": false,
                                        "computed": false,
                                        "key": {
                                          "type": "Identifier",
                                          "start": 1196,
                                          "end": 1201,
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 30,
                                              "column": 15
                                            },
                                            "identifierName": "model"
                                          },
                                          "name": "model"
                                        },
                                        "value": {
                                          "type": "CallExpression",
                                          "start": 1203,
                                          "end": 1406,
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 34,
                                              "column": 12
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 1203,
                                            "end": 1259,
                                            "loc": {
                                              "start": {
                                                "line": 30,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 30,
                                                "column": 73
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 1203,
                                              "end": 1249,
                                              "loc": {
                                                "start": {
                                                  "line": 30,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 30,
                                                  "column": 63
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 1203,
                                                "end": 1234,
                                                "loc": {
                                                  "start": {
                                                    "line": 30,
                                                    "column": 17
                                                  },
                                                  "end": {
                                                    "line": 30,
                                                    "column": 48
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 1203,
                                                  "end": 1219,
                                                  "loc": {
                                                    "start": {
                                                      "line": 30,
                                                      "column": 17
                                                    },
                                                    "end": {
                                                      "line": 30,
                                                      "column": 33
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 1203,
                                                    "end": 1209,
                                                    "loc": {
                                                      "start": {
                                                        "line": 30,
                                                        "column": 17
                                                      },
                                                      "end": {
                                                        "line": 30,
                                                        "column": 23
                                                      },
                                                      "identifierName": "source"
                                                    },
                                                    "name": "source"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 1210,
                                                    "end": 1219,
                                                    "loc": {
                                                      "start": {
                                                        "line": 30,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 30,
                                                        "column": 33
                                                      },
                                                      "identifierName": "sequelize"
                                                    },
                                                    "name": "sequelize"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 1220,
                                                  "end": 1234,
                                                  "loc": {
                                                    "start": {
                                                      "line": 30,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 30,
                                                      "column": 48
                                                    },
                                                    "identifierName": "queryInterface"
                                                  },
                                                  "name": "queryInterface"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 1235,
                                                "end": 1249,
                                                "loc": {
                                                  "start": {
                                                    "line": 30,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 30,
                                                    "column": 63
                                                  },
                                                  "identifierName": "QueryGenerator"
                                                },
                                                "name": "QueryGenerator"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 1250,
                                              "end": 1259,
                                              "loc": {
                                                "start": {
                                                  "line": 30,
                                                  "column": 64
                                                },
                                                "end": {
                                                  "line": 30,
                                                  "column": 73
                                                },
                                                "identifierName": "addSchema"
                                              },
                                              "name": "addSchema"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "ObjectExpression",
                                              "start": 1260,
                                              "end": 1405,
                                              "loc": {
                                                "start": {
                                                  "line": 30,
                                                  "column": 74
                                                },
                                                "end": {
                                                  "line": 34,
                                                  "column": 11
                                                }
                                              },
                                              "properties": [
                                                {
                                                  "type": "ObjectProperty",
                                                  "start": 1274,
                                                  "end": 1301,
                                                  "loc": {
                                                    "start": {
                                                      "line": 31,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 31,
                                                      "column": 39
                                                    }
                                                  },
                                                  "method": false,
                                                  "shorthand": false,
                                                  "computed": false,
                                                  "key": {
                                                    "type": "Identifier",
                                                    "start": 1274,
                                                    "end": 1283,
                                                    "loc": {
                                                      "start": {
                                                        "line": 31,
                                                        "column": 12
                                                      },
                                                      "end": {
                                                        "line": 31,
                                                        "column": 21
                                                      },
                                                      "identifierName": "tableName"
                                                    },
                                                    "name": "tableName"
                                                  },
                                                  "value": {
                                                    "type": "MemberExpression",
                                                    "start": 1285,
                                                    "end": 1301,
                                                    "loc": {
                                                      "start": {
                                                        "line": 31,
                                                        "column": 23
                                                      },
                                                      "end": {
                                                        "line": 31,
                                                        "column": 39
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 1285,
                                                      "end": 1291,
                                                      "loc": {
                                                        "start": {
                                                          "line": 31,
                                                          "column": 23
                                                        },
                                                        "end": {
                                                          "line": 31,
                                                          "column": 29
                                                        },
                                                        "identifierName": "source"
                                                      },
                                                      "name": "source"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 1292,
                                                      "end": 1301,
                                                      "loc": {
                                                        "start": {
                                                          "line": 31,
                                                          "column": 30
                                                        },
                                                        "end": {
                                                          "line": 31,
                                                          "column": 39
                                                        },
                                                        "identifierName": "tableName"
                                                      },
                                                      "name": "tableName"
                                                    },
                                                    "computed": false
                                                  }
                                                },
                                                {
                                                  "type": "ObjectProperty",
                                                  "start": 1315,
                                                  "end": 1338,
                                                  "loc": {
                                                    "start": {
                                                      "line": 32,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 32,
                                                      "column": 35
                                                    }
                                                  },
                                                  "method": false,
                                                  "shorthand": false,
                                                  "computed": false,
                                                  "key": {
                                                    "type": "Identifier",
                                                    "start": 1315,
                                                    "end": 1322,
                                                    "loc": {
                                                      "start": {
                                                        "line": 32,
                                                        "column": 12
                                                      },
                                                      "end": {
                                                        "line": 32,
                                                        "column": 19
                                                      },
                                                      "identifierName": "_schema"
                                                    },
                                                    "name": "_schema"
                                                  },
                                                  "value": {
                                                    "type": "MemberExpression",
                                                    "start": 1324,
                                                    "end": 1338,
                                                    "loc": {
                                                      "start": {
                                                        "line": 32,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 32,
                                                        "column": 35
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 1324,
                                                      "end": 1330,
                                                      "loc": {
                                                        "start": {
                                                          "line": 32,
                                                          "column": 21
                                                        },
                                                        "end": {
                                                          "line": 32,
                                                          "column": 27
                                                        },
                                                        "identifierName": "source"
                                                      },
                                                      "name": "source"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 1331,
                                                      "end": 1338,
                                                      "loc": {
                                                        "start": {
                                                          "line": 32,
                                                          "column": 28
                                                        },
                                                        "end": {
                                                          "line": 32,
                                                          "column": 35
                                                        },
                                                        "identifierName": "_schema"
                                                      },
                                                      "name": "_schema"
                                                    },
                                                    "computed": false
                                                  }
                                                },
                                                {
                                                  "type": "ObjectProperty",
                                                  "start": 1352,
                                                  "end": 1393,
                                                  "loc": {
                                                    "start": {
                                                      "line": 33,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 33,
                                                      "column": 53
                                                    }
                                                  },
                                                  "method": false,
                                                  "shorthand": false,
                                                  "computed": false,
                                                  "key": {
                                                    "type": "Identifier",
                                                    "start": 1352,
                                                    "end": 1368,
                                                    "loc": {
                                                      "start": {
                                                        "line": 33,
                                                        "column": 12
                                                      },
                                                      "end": {
                                                        "line": 33,
                                                        "column": 28
                                                      },
                                                      "identifierName": "_schemaDelimiter"
                                                    },
                                                    "name": "_schemaDelimiter"
                                                  },
                                                  "value": {
                                                    "type": "MemberExpression",
                                                    "start": 1370,
                                                    "end": 1393,
                                                    "loc": {
                                                      "start": {
                                                        "line": 33,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 33,
                                                        "column": 53
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 1370,
                                                      "end": 1376,
                                                      "loc": {
                                                        "start": {
                                                          "line": 33,
                                                          "column": 30
                                                        },
                                                        "end": {
                                                          "line": 33,
                                                          "column": 36
                                                        },
                                                        "identifierName": "source"
                                                      },
                                                      "name": "source"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 1377,
                                                      "end": 1393,
                                                      "loc": {
                                                        "start": {
                                                          "line": 33,
                                                          "column": 37
                                                        },
                                                        "end": {
                                                          "line": 33,
                                                          "column": 53
                                                        },
                                                        "identifierName": "_schemaDelimiter"
                                                      },
                                                      "name": "_schemaDelimiter"
                                                    },
                                                    "computed": false
                                                  }
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": {
                            "type": "BlockStatement",
                            "start": 1431,
                            "end": 1503,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 13
                              },
                              "end": {
                                "line": 38,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 1441,
                                "end": 1495,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 62
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 1441,
                                  "end": 1494,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 61
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 1441,
                                    "end": 1464,
                                    "loc": {
                                      "start": {
                                        "line": 37,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 37,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1441,
                                      "end": 1453,
                                      "loc": {
                                        "start": {
                                          "line": 37,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 37,
                                          "column": 20
                                        },
                                        "identifierName": "newAttribute"
                                      },
                                      "name": "newAttribute"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1454,
                                      "end": 1464,
                                      "loc": {
                                        "start": {
                                          "line": 37,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 37,
                                          "column": 31
                                        },
                                        "identifierName": "references"
                                      },
                                      "name": "references"
                                    },
                                    "computed": false
                                  },
                                  "right": {
                                    "type": "ObjectExpression",
                                    "start": 1467,
                                    "end": 1494,
                                    "loc": {
                                      "start": {
                                        "line": 37,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 37,
                                        "column": 61
                                      }
                                    },
                                    "properties": [
                                      {
                                        "type": "ObjectProperty",
                                        "start": 1469,
                                        "end": 1492,
                                        "loc": {
                                          "start": {
                                            "line": 37,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 37,
                                            "column": 59
                                          }
                                        },
                                        "method": false,
                                        "shorthand": false,
                                        "computed": false,
                                        "key": {
                                          "type": "Identifier",
                                          "start": 1469,
                                          "end": 1474,
                                          "loc": {
                                            "start": {
                                              "line": 37,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 37,
                                              "column": 41
                                            },
                                            "identifierName": "model"
                                          },
                                          "name": "model"
                                        },
                                        "value": {
                                          "type": "MemberExpression",
                                          "start": 1476,
                                          "end": 1492,
                                          "loc": {
                                            "start": {
                                              "line": 37,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 37,
                                              "column": 59
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 1476,
                                            "end": 1482,
                                            "loc": {
                                              "start": {
                                                "line": 37,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 37,
                                                "column": 49
                                              },
                                              "identifierName": "source"
                                            },
                                            "name": "source"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1483,
                                            "end": 1492,
                                            "loc": {
                                              "start": {
                                                "line": 37,
                                                "column": 50
                                              },
                                              "end": {
                                                "line": 37,
                                                "column": 59
                                              },
                                              "identifierName": "tableName"
                                            },
                                            "name": "tableName"
                                          },
                                          "computed": false
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ],
                            "directives": []
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 1511,
                          "end": 1563,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 6
                            },
                            "end": {
                              "line": 40,
                              "column": 58
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 1511,
                            "end": 1562,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 6
                              },
                              "end": {
                                "line": 40,
                                "column": 57
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "start": 1511,
                              "end": 1538,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 6
                                },
                                "end": {
                                  "line": 40,
                                  "column": 33
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1511,
                                "end": 1534,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1511,
                                  "end": 1523,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 18
                                    },
                                    "identifierName": "newAttribute"
                                  },
                                  "name": "newAttribute"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1524,
                                  "end": 1534,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 29
                                    },
                                    "identifierName": "references"
                                  },
                                  "name": "references"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1535,
                                "end": 1538,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 33
                                  },
                                  "identifierName": "key"
                                },
                                "name": "key"
                              },
                              "computed": false
                            },
                            "right": {
                              "type": "LogicalExpression",
                              "start": 1541,
                              "end": 1562,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 36
                                },
                                "end": {
                                  "line": 40,
                                  "column": 57
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 1541,
                                "end": 1544,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 39
                                  },
                                  "identifierName": "key"
                                },
                                "name": "key"
                              },
                              "operator": "||",
                              "right": {
                                "type": "MemberExpression",
                                "start": 1548,
                                "end": 1562,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 57
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1548,
                                  "end": 1559,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 54
                                    },
                                    "identifierName": "primaryKeys"
                                  },
                                  "name": "primaryKeys"
                                },
                                "property": {
                                  "type": "NumericLiteral",
                                  "start": 1560,
                                  "end": 1561,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 56
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "value": 0
                                },
                                "computed": true
                              }
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 1570,
                          "end": 1611,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 6
                            },
                            "end": {
                              "line": 41,
                              "column": 47
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 1570,
                            "end": 1610,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 6
                              },
                              "end": {
                                "line": 41,
                                "column": 46
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "start": 1570,
                              "end": 1591,
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 6
                                },
                                "end": {
                                  "line": 41,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1570,
                                "end": 1582,
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 18
                                  },
                                  "identifierName": "newAttribute"
                                },
                                "name": "newAttribute"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1583,
                                "end": 1591,
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 27
                                  },
                                  "identifierName": "onDelete"
                                },
                                "name": "onDelete"
                              },
                              "computed": false
                            },
                            "right": {
                              "type": "MemberExpression",
                              "start": 1594,
                              "end": 1610,
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 30
                                },
                                "end": {
                                  "line": 41,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1594,
                                "end": 1601,
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 37
                                  },
                                  "identifierName": "options"
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1602,
                                "end": 1610,
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 46
                                  },
                                  "identifierName": "onDelete"
                                },
                                "name": "onDelete"
                              },
                              "computed": false
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 1618,
                          "end": 1659,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 6
                            },
                            "end": {
                              "line": 42,
                              "column": 47
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 1618,
                            "end": 1658,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 6
                              },
                              "end": {
                                "line": 42,
                                "column": 46
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "start": 1618,
                              "end": 1639,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 6
                                },
                                "end": {
                                  "line": 42,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1618,
                                "end": 1630,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 18
                                  },
                                  "identifierName": "newAttribute"
                                },
                                "name": "newAttribute"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1631,
                                "end": 1639,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 27
                                  },
                                  "identifierName": "onUpdate"
                                },
                                "name": "onUpdate"
                              },
                              "computed": false
                            },
                            "right": {
                              "type": "MemberExpression",
                              "start": 1642,
                              "end": 1658,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 30
                                },
                                "end": {
                                  "line": 42,
                                  "column": 46
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1642,
                                "end": 1649,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 37
                                  },
                                  "identifierName": "options"
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1650,
                                "end": 1658,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 46
                                  },
                                  "identifierName": "onUpdate"
                                },
                                "name": "onUpdate"
                              },
                              "computed": false
                            }
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  }
                ],
                "directives": []
              },
              "alternate": null,
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " FK constraints are opt-in: users must either set `foreignKeyConstraints`",
                  "start": 586,
                  "end": 661,
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 2
                    },
                    "end": {
                      "line": 17,
                      "column": 77
                    }
                  }
                },
                {
                  "type": "CommentLine",
                  "value": " on the association, or request an `onDelete` or `onUpdate` behaviour",
                  "start": 664,
                  "end": 735,
                  "loc": {
                    "start": {
                      "line": 18,
                      "column": 2
                    },
                    "end": {
                      "line": 18,
                      "column": 73
                    }
                  }
                }
              ]
            }
          ],
          "directives": []
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 1672,
        "end": 1732,
        "loc": {
          "start": {
            "line": 46,
            "column": 0
          },
          "end": {
            "line": 46,
            "column": 60
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 1672,
          "end": 1731,
          "loc": {
            "start": {
              "line": 46,
              "column": 0
            },
            "end": {
              "line": 46,
              "column": 59
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 1672,
            "end": 1704,
            "loc": {
              "start": {
                "line": 46,
                "column": 0
              },
              "end": {
                "line": 46,
                "column": 32
              }
            },
            "object": {
              "type": "Identifier",
              "start": 1672,
              "end": 1679,
              "loc": {
                "start": {
                  "line": 46,
                  "column": 0
                },
                "end": {
                  "line": 46,
                  "column": 7
                },
                "identifierName": "exports"
              },
              "name": "exports"
            },
            "property": {
              "type": "Identifier",
              "start": 1680,
              "end": 1704,
              "loc": {
                "start": {
                  "line": 46,
                  "column": 8
                },
                "end": {
                  "line": 46,
                  "column": 32
                },
                "identifierName": "addForeignKeyConstraints"
              },
              "name": "addForeignKeyConstraints"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 1707,
            "end": 1731,
            "loc": {
              "start": {
                "line": 46,
                "column": 35
              },
              "end": {
                "line": 46,
                "column": 59
              },
              "identifierName": "addForeignKeyConstraints"
            },
            "name": "addForeignKeyConstraints"
          }
        },
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Mixin (inject) association methods to model prototype\n *\n * @private\n * @param {Object} Association instance\n * @param {Object} Model prototype\n * @param {Array} Method names to inject\n * @param {Object} Mapping between model and association method names\n ",
            "start": 1734,
            "end": 1999,
            "loc": {
              "start": {
                "line": 48,
                "column": 0
              },
              "end": {
                "line": 56,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "FunctionDeclaration",
        "start": 2000,
        "end": 2495,
        "loc": {
          "start": {
            "line": 57,
            "column": 0
          },
          "end": {
            "line": 73,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 2009,
          "end": 2021,
          "loc": {
            "start": {
              "line": 57,
              "column": 9
            },
            "end": {
              "line": 57,
              "column": 21
            },
            "identifierName": "mixinMethods"
          },
          "name": "mixinMethods",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "Identifier",
            "start": 2022,
            "end": 2033,
            "loc": {
              "start": {
                "line": 57,
                "column": 22
              },
              "end": {
                "line": 57,
                "column": 33
              },
              "identifierName": "association"
            },
            "name": "association"
          },
          {
            "type": "Identifier",
            "start": 2035,
            "end": 2038,
            "loc": {
              "start": {
                "line": 57,
                "column": 35
              },
              "end": {
                "line": 57,
                "column": 38
              },
              "identifierName": "obj"
            },
            "name": "obj"
          },
          {
            "type": "Identifier",
            "start": 2040,
            "end": 2047,
            "loc": {
              "start": {
                "line": 57,
                "column": 40
              },
              "end": {
                "line": 57,
                "column": 47
              },
              "identifierName": "methods"
            },
            "name": "methods"
          },
          {
            "type": "Identifier",
            "start": 2049,
            "end": 2056,
            "loc": {
              "start": {
                "line": 57,
                "column": 49
              },
              "end": {
                "line": 57,
                "column": 56
              },
              "identifierName": "aliases"
            },
            "name": "aliases"
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 2058,
          "end": 2495,
          "loc": {
            "start": {
              "line": 57,
              "column": 58
            },
            "end": {
              "line": 73,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ExpressionStatement",
              "start": 2062,
              "end": 2086,
              "loc": {
                "start": {
                  "line": 58,
                  "column": 2
                },
                "end": {
                  "line": 58,
                  "column": 26
                }
              },
              "expression": {
                "type": "AssignmentExpression",
                "start": 2062,
                "end": 2085,
                "loc": {
                  "start": {
                    "line": 58,
                    "column": 2
                  },
                  "end": {
                    "line": 58,
                    "column": 25
                  }
                },
                "operator": "=",
                "left": {
                  "type": "Identifier",
                  "start": 2062,
                  "end": 2069,
                  "loc": {
                    "start": {
                      "line": 58,
                      "column": 2
                    },
                    "end": {
                      "line": 58,
                      "column": 9
                    },
                    "identifierName": "aliases"
                  },
                  "name": "aliases"
                },
                "right": {
                  "type": "LogicalExpression",
                  "start": 2072,
                  "end": 2085,
                  "loc": {
                    "start": {
                      "line": 58,
                      "column": 12
                    },
                    "end": {
                      "line": 58,
                      "column": 25
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 2072,
                    "end": 2079,
                    "loc": {
                      "start": {
                        "line": 58,
                        "column": 12
                      },
                      "end": {
                        "line": 58,
                        "column": 19
                      },
                      "identifierName": "aliases"
                    },
                    "name": "aliases"
                  },
                  "operator": "||",
                  "right": {
                    "type": "ObjectExpression",
                    "start": 2083,
                    "end": 2085,
                    "loc": {
                      "start": {
                        "line": 58,
                        "column": 23
                      },
                      "end": {
                        "line": 58,
                        "column": 25
                      }
                    },
                    "properties": []
                  }
                }
              }
            },
            {
              "type": "ForOfStatement",
              "start": 2090,
              "end": 2493,
              "loc": {
                "start": {
                  "line": 60,
                  "column": 2
                },
                "end": {
                  "line": 72,
                  "column": 3
                }
              },
              "left": {
                "type": "VariableDeclaration",
                "start": 2095,
                "end": 2107,
                "loc": {
                  "start": {
                    "line": 60,
                    "column": 7
                  },
                  "end": {
                    "line": 60,
                    "column": 19
                  }
                },
                "declarations": [
                  {
                    "type": "VariableDeclarator",
                    "start": 2101,
                    "end": 2107,
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 13
                      },
                      "end": {
                        "line": 60,
                        "column": 19
                      }
                    },
                    "id": {
                      "type": "Identifier",
                      "start": 2101,
                      "end": 2107,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 13
                        },
                        "end": {
                          "line": 60,
                          "column": 19
                        },
                        "identifierName": "method"
                      },
                      "name": "method"
                    },
                    "init": null
                  }
                ],
                "kind": "const"
              },
              "right": {
                "type": "Identifier",
                "start": 2111,
                "end": 2118,
                "loc": {
                  "start": {
                    "line": 60,
                    "column": 23
                  },
                  "end": {
                    "line": 60,
                    "column": 30
                  },
                  "identifierName": "methods"
                },
                "name": "methods"
              },
              "body": {
                "type": "BlockStatement",
                "start": 2120,
                "end": 2493,
                "loc": {
                  "start": {
                    "line": 60,
                    "column": 32
                  },
                  "end": {
                    "line": 72,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 2163,
                    "end": 2489,
                    "loc": {
                      "start": {
                        "line": 62,
                        "column": 4
                      },
                      "end": {
                        "line": 71,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "UnaryExpression",
                      "start": 2167,
                      "end": 2202,
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 8
                        },
                        "end": {
                          "line": 62,
                          "column": 43
                        }
                      },
                      "operator": "!",
                      "prefix": true,
                      "argument": {
                        "type": "MemberExpression",
                        "start": 2168,
                        "end": 2202,
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 9
                          },
                          "end": {
                            "line": 62,
                            "column": 43
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2168,
                          "end": 2171,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 9
                            },
                            "end": {
                              "line": 62,
                              "column": 12
                            },
                            "identifierName": "obj"
                          },
                          "name": "obj",
                          "leadingComments": null
                        },
                        "property": {
                          "type": "MemberExpression",
                          "start": 2172,
                          "end": 2201,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 13
                            },
                            "end": {
                              "line": 62,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2172,
                            "end": 2193,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 13
                              },
                              "end": {
                                "line": 62,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2172,
                              "end": 2183,
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 13
                                },
                                "end": {
                                  "line": 62,
                                  "column": 24
                                },
                                "identifierName": "association"
                              },
                              "name": "association"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2184,
                              "end": 2193,
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 25
                                },
                                "end": {
                                  "line": 62,
                                  "column": 34
                                },
                                "identifierName": "accessors"
                              },
                              "name": "accessors"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2194,
                            "end": 2200,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 35
                              },
                              "end": {
                                "line": 62,
                                "column": 41
                              },
                              "identifierName": "method"
                            },
                            "name": "method"
                          },
                          "computed": true
                        },
                        "computed": true,
                        "leadingComments": null
                      },
                      "extra": {
                        "parenthesizedArgument": false
                      },
                      "leadingComments": null
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 2204,
                      "end": 2489,
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 45
                        },
                        "end": {
                          "line": 71,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "VariableDeclaration",
                          "start": 2212,
                          "end": 2257,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 6
                            },
                            "end": {
                              "line": 63,
                              "column": 51
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 2218,
                              "end": 2256,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 12
                                },
                                "end": {
                                  "line": 63,
                                  "column": 50
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 2218,
                                "end": 2228,
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 22
                                  },
                                  "identifierName": "realMethod"
                                },
                                "name": "realMethod"
                              },
                              "init": {
                                "type": "LogicalExpression",
                                "start": 2231,
                                "end": 2256,
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 50
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 2231,
                                  "end": 2246,
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 40
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2231,
                                    "end": 2238,
                                    "loc": {
                                      "start": {
                                        "line": 63,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 63,
                                        "column": 32
                                      },
                                      "identifierName": "aliases"
                                    },
                                    "name": "aliases"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2239,
                                    "end": 2245,
                                    "loc": {
                                      "start": {
                                        "line": 63,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 63,
                                        "column": 39
                                      },
                                      "identifierName": "method"
                                    },
                                    "name": "method"
                                  },
                                  "computed": true
                                },
                                "operator": "||",
                                "right": {
                                  "type": "Identifier",
                                  "start": 2250,
                                  "end": 2256,
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 50
                                    },
                                    "identifierName": "method"
                                  },
                                  "name": "method"
                                }
                              }
                            }
                          ],
                          "kind": "const"
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 2265,
                          "end": 2483,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 6
                            },
                            "end": {
                              "line": 70,
                              "column": 8
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 2265,
                            "end": 2482,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 6
                              },
                              "end": {
                                "line": 70,
                                "column": 7
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "start": 2265,
                              "end": 2299,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 6
                                },
                                "end": {
                                  "line": 65,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2265,
                                "end": 2268,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 9
                                  },
                                  "identifierName": "obj"
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "MemberExpression",
                                "start": 2269,
                                "end": 2298,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 2269,
                                  "end": 2290,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2269,
                                    "end": 2280,
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 65,
                                        "column": 21
                                      },
                                      "identifierName": "association"
                                    },
                                    "name": "association"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2281,
                                    "end": 2290,
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 65,
                                        "column": 31
                                      },
                                      "identifierName": "accessors"
                                    },
                                    "name": "accessors"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2291,
                                  "end": 2297,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 38
                                    },
                                    "identifierName": "method"
                                  },
                                  "name": "method"
                                },
                                "computed": true
                              },
                              "computed": true
                            },
                            "right": {
                              "type": "FunctionExpression",
                              "start": 2302,
                              "end": 2482,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 43
                                },
                                "end": {
                                  "line": 70,
                                  "column": 7
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": false,
                              "async": false,
                              "params": [],
                              "body": {
                                "type": "BlockStatement",
                                "start": 2313,
                                "end": 2482,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 7
                                  }
                                },
                                "body": [
                                  {
                                    "type": "VariableDeclaration",
                                    "start": 2323,
                                    "end": 2345,
                                    "loc": {
                                      "start": {
                                        "line": 66,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 66,
                                        "column": 30
                                      }
                                    },
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "start": 2329,
                                        "end": 2344,
                                        "loc": {
                                          "start": {
                                            "line": 66,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 66,
                                            "column": 29
                                          }
                                        },
                                        "id": {
                                          "type": "Identifier",
                                          "start": 2329,
                                          "end": 2337,
                                          "loc": {
                                            "start": {
                                              "line": 66,
                                              "column": 14
                                            },
                                            "end": {
                                              "line": 66,
                                              "column": 22
                                            },
                                            "identifierName": "instance"
                                          },
                                          "name": "instance"
                                        },
                                        "init": {
                                          "type": "ThisExpression",
                                          "start": 2340,
                                          "end": 2344,
                                          "loc": {
                                            "start": {
                                              "line": 66,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 66,
                                              "column": 29
                                            }
                                          }
                                        }
                                      }
                                    ],
                                    "kind": "const"
                                  },
                                  {
                                    "type": "VariableDeclaration",
                                    "start": 2354,
                                    "end": 2408,
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 62
                                      }
                                    },
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "start": 2360,
                                        "end": 2407,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 61
                                          }
                                        },
                                        "id": {
                                          "type": "Identifier",
                                          "start": 2360,
                                          "end": 2364,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 14
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 18
                                            },
                                            "identifierName": "args"
                                          },
                                          "name": "args"
                                        },
                                        "init": {
                                          "type": "CallExpression",
                                          "start": 2367,
                                          "end": 2407,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 61
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 2367,
                                            "end": 2384,
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 38
                                              }
                                            },
                                            "object": {
                                              "type": "ArrayExpression",
                                              "start": 2367,
                                              "end": 2377,
                                              "loc": {
                                                "start": {
                                                  "line": 67,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 67,
                                                  "column": 31
                                                }
                                              },
                                              "elements": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 2368,
                                                  "end": 2376,
                                                  "loc": {
                                                    "start": {
                                                      "line": 67,
                                                      "column": 22
                                                    },
                                                    "end": {
                                                      "line": 67,
                                                      "column": 30
                                                    },
                                                    "identifierName": "instance"
                                                  },
                                                  "name": "instance"
                                                }
                                              ]
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2378,
                                              "end": 2384,
                                              "loc": {
                                                "start": {
                                                  "line": 67,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 67,
                                                  "column": 38
                                                },
                                                "identifierName": "concat"
                                              },
                                              "name": "concat"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "CallExpression",
                                              "start": 2385,
                                              "end": 2406,
                                              "loc": {
                                                "start": {
                                                  "line": 67,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 67,
                                                  "column": 60
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 2385,
                                                "end": 2395,
                                                "loc": {
                                                  "start": {
                                                    "line": 67,
                                                    "column": 39
                                                  },
                                                  "end": {
                                                    "line": 67,
                                                    "column": 49
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 2385,
                                                  "end": 2390,
                                                  "loc": {
                                                    "start": {
                                                      "line": 67,
                                                      "column": 39
                                                    },
                                                    "end": {
                                                      "line": 67,
                                                      "column": 44
                                                    },
                                                    "identifierName": "Array"
                                                  },
                                                  "name": "Array"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2391,
                                                  "end": 2395,
                                                  "loc": {
                                                    "start": {
                                                      "line": 67,
                                                      "column": 45
                                                    },
                                                    "end": {
                                                      "line": 67,
                                                      "column": 49
                                                    },
                                                    "identifierName": "from"
                                                  },
                                                  "name": "from"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 2396,
                                                  "end": 2405,
                                                  "loc": {
                                                    "start": {
                                                      "line": 67,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 67,
                                                      "column": 59
                                                    },
                                                    "identifierName": "arguments"
                                                  },
                                                  "name": "arguments"
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      }
                                    ],
                                    "kind": "const"
                                  },
                                  {
                                    "type": "ReturnStatement",
                                    "start": 2418,
                                    "end": 2474,
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 64
                                      }
                                    },
                                    "argument": {
                                      "type": "CallExpression",
                                      "start": 2425,
                                      "end": 2473,
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 63
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 2425,
                                        "end": 2454,
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 69,
                                            "column": 44
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 2425,
                                          "end": 2448,
                                          "loc": {
                                            "start": {
                                              "line": 69,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 69,
                                              "column": 38
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2425,
                                            "end": 2436,
                                            "loc": {
                                              "start": {
                                                "line": 69,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 69,
                                                "column": 26
                                              },
                                              "identifierName": "association"
                                            },
                                            "name": "association"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2437,
                                            "end": 2447,
                                            "loc": {
                                              "start": {
                                                "line": 69,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 69,
                                                "column": 37
                                              },
                                              "identifierName": "realMethod"
                                            },
                                            "name": "realMethod"
                                          },
                                          "computed": true
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2449,
                                          "end": 2454,
                                          "loc": {
                                            "start": {
                                              "line": 69,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 69,
                                              "column": 44
                                            },
                                            "identifierName": "apply"
                                          },
                                          "name": "apply"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 2455,
                                          "end": 2466,
                                          "loc": {
                                            "start": {
                                              "line": 69,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 69,
                                              "column": 56
                                            },
                                            "identifierName": "association"
                                          },
                                          "name": "association"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 2468,
                                          "end": 2472,
                                          "loc": {
                                            "start": {
                                              "line": 69,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 69,
                                              "column": 62
                                            },
                                            "identifierName": "args"
                                          },
                                          "name": "args"
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "directives": []
                              }
                            }
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null,
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " don't override custom methods",
                        "start": 2126,
                        "end": 2158,
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 4
                          },
                          "end": {
                            "line": 61,
                            "column": 36
                          }
                        }
                      }
                    ]
                  }
                ],
                "directives": []
              }
            }
          ],
          "directives": []
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Mixin (inject) association methods to model prototype\n *\n * @private\n * @param {Object} Association instance\n * @param {Object} Model prototype\n * @param {Array} Method names to inject\n * @param {Object} Mapping between model and association method names\n ",
            "start": 1734,
            "end": 1999,
            "loc": {
              "start": {
                "line": 48,
                "column": 0
              },
              "end": {
                "line": 56,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "ExpressionStatement",
        "start": 2496,
        "end": 2532,
        "loc": {
          "start": {
            "line": 74,
            "column": 0
          },
          "end": {
            "line": 74,
            "column": 36
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 2496,
          "end": 2531,
          "loc": {
            "start": {
              "line": 74,
              "column": 0
            },
            "end": {
              "line": 74,
              "column": 35
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 2496,
            "end": 2516,
            "loc": {
              "start": {
                "line": 74,
                "column": 0
              },
              "end": {
                "line": 74,
                "column": 20
              }
            },
            "object": {
              "type": "Identifier",
              "start": 2496,
              "end": 2503,
              "loc": {
                "start": {
                  "line": 74,
                  "column": 0
                },
                "end": {
                  "line": 74,
                  "column": 7
                },
                "identifierName": "exports"
              },
              "name": "exports"
            },
            "property": {
              "type": "Identifier",
              "start": 2504,
              "end": 2516,
              "loc": {
                "start": {
                  "line": 74,
                  "column": 8
                },
                "end": {
                  "line": 74,
                  "column": 20
                },
                "identifierName": "mixinMethods"
              },
              "name": "mixinMethods"
            },
            "computed": false
          },
          "right": {
            "type": "Identifier",
            "start": 2519,
            "end": 2531,
            "loc": {
              "start": {
                "line": 74,
                "column": 23
              },
              "end": {
                "line": 74,
                "column": 35
              },
              "identifierName": "mixinMethods"
            },
            "name": "mixinMethods"
          }
        }
      }
    ],
    "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": " FK constraints are opt-in: users must either set `foreignKeyConstraints`",
      "start": 586,
      "end": 661,
      "loc": {
        "start": {
          "line": 17,
          "column": 2
        },
        "end": {
          "line": 17,
          "column": 77
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " on the association, or request an `onDelete` or `onUpdate` behaviour",
      "start": 664,
      "end": 735,
      "loc": {
        "start": {
          "line": 18,
          "column": 2
        },
        "end": {
          "line": 18,
          "column": 73
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Find primary keys: composite keys not supported with this approach",
      "start": 820,
      "end": 889,
      "loc": {
        "start": {
          "line": 22,
          "column": 4
        },
        "end": {
          "line": 22,
          "column": 73
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * Mixin (inject) association methods to model prototype\n *\n * @private\n * @param {Object} Association instance\n * @param {Object} Model prototype\n * @param {Array} Method names to inject\n * @param {Object} Mapping between model and association method names\n ",
      "start": 1734,
      "end": 1999,
      "loc": {
        "start": {
          "line": 48,
          "column": 0
        },
        "end": {
          "line": 56,
          "column": 3
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " don't override custom methods",
      "start": 2126,
      "end": 2158,
      "loc": {
        "start": {
          "line": 61,
          "column": 4
        },
        "end": {
          "line": 61,
          "column": 36
        }
      }
    }
  ],
  "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": "Utils",
      "start": 21,
      "end": 26,
      "loc": {
        "start": {
          "line": 3,
          "column": 6
        },
        "end": {
          "line": 3,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 27,
      "end": 28,
      "loc": {
        "start": {
          "line": 3,
          "column": 12
        },
        "end": {
          "line": 3,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "require",
      "start": 29,
      "end": 36,
      "loc": {
        "start": {
          "line": 3,
          "column": 14
        },
        "end": {
          "line": 3,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 36,
      "end": 37,
      "loc": {
        "start": {
          "line": 3,
          "column": 21
        },
        "end": {
          "line": 3,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./../utils",
      "start": 37,
      "end": 49,
      "loc": {
        "start": {
          "line": 3,
          "column": 22
        },
        "end": {
          "line": 3,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 49,
      "end": 50,
      "loc": {
        "start": {
          "line": 3,
          "column": 34
        },
        "end": {
          "line": 3,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 50,
      "end": 51,
      "loc": {
        "start": {
          "line": 3,
          "column": 35
        },
        "end": {
          "line": 3,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 53,
      "end": 61,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "checkNamingCollision",
      "start": 62,
      "end": 82,
      "loc": {
        "start": {
          "line": 5,
          "column": 9
        },
        "end": {
          "line": 5,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 82,
      "end": 83,
      "loc": {
        "start": {
          "line": 5,
          "column": 29
        },
        "end": {
          "line": 5,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "association",
      "start": 83,
      "end": 94,
      "loc": {
        "start": {
          "line": 5,
          "column": 30
        },
        "end": {
          "line": 5,
          "column": 41
        }
      }
    },
    {
      "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": 5,
          "column": 41
        },
        "end": {
          "line": 5,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 96,
      "end": 97,
      "loc": {
        "start": {
          "line": 5,
          "column": 43
        },
        "end": {
          "line": 5,
          "column": 44
        }
      }
    },
    {
      "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": 100,
      "end": 102,
      "loc": {
        "start": {
          "line": 6,
          "column": 2
        },
        "end": {
          "line": 6,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 103,
      "end": 104,
      "loc": {
        "start": {
          "line": 6,
          "column": 5
        },
        "end": {
          "line": 6,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "association",
      "start": 104,
      "end": 115,
      "loc": {
        "start": {
          "line": 6,
          "column": 6
        },
        "end": {
          "line": 6,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 115,
      "end": 116,
      "loc": {
        "start": {
          "line": 6,
          "column": 17
        },
        "end": {
          "line": 6,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 116,
      "end": 122,
      "loc": {
        "start": {
          "line": 6,
          "column": 18
        },
        "end": {
          "line": 6,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 122,
      "end": 123,
      "loc": {
        "start": {
          "line": 6,
          "column": 24
        },
        "end": {
          "line": 6,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rawAttributes",
      "start": 123,
      "end": 136,
      "loc": {
        "start": {
          "line": 6,
          "column": 25
        },
        "end": {
          "line": 6,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 136,
      "end": 137,
      "loc": {
        "start": {
          "line": 6,
          "column": 38
        },
        "end": {
          "line": 6,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasOwnProperty",
      "start": 137,
      "end": 151,
      "loc": {
        "start": {
          "line": 6,
          "column": 39
        },
        "end": {
          "line": 6,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 151,
      "end": 152,
      "loc": {
        "start": {
          "line": 6,
          "column": 53
        },
        "end": {
          "line": 6,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "association",
      "start": 152,
      "end": 163,
      "loc": {
        "start": {
          "line": 6,
          "column": 54
        },
        "end": {
          "line": 6,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 163,
      "end": 164,
      "loc": {
        "start": {
          "line": 6,
          "column": 65
        },
        "end": {
          "line": 6,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "as",
      "start": 164,
      "end": 166,
      "loc": {
        "start": {
          "line": 6,
          "column": 66
        },
        "end": {
          "line": 6,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 166,
      "end": 167,
      "loc": {
        "start": {
          "line": 6,
          "column": 68
        },
        "end": {
          "line": 6,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 167,
      "end": 168,
      "loc": {
        "start": {
          "line": 6,
          "column": 69
        },
        "end": {
          "line": 6,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 169,
      "end": 170,
      "loc": {
        "start": {
          "line": 6,
          "column": 71
        },
        "end": {
          "line": 6,
          "column": 72
        }
      }
    },
    {
      "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": 175,
      "end": 180,
      "loc": {
        "start": {
          "line": 7,
          "column": 4
        },
        "end": {
          "line": 7,
          "column": 9
        }
      }
    },
    {
      "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": 181,
      "end": 184,
      "loc": {
        "start": {
          "line": 7,
          "column": 10
        },
        "end": {
          "line": 7,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Error",
      "start": 185,
      "end": 190,
      "loc": {
        "start": {
          "line": 7,
          "column": 14
        },
        "end": {
          "line": 7,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 190,
      "end": 191,
      "loc": {
        "start": {
          "line": 7,
          "column": 19
        },
        "end": {
          "line": 7,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Naming collision between attribute '",
      "start": 198,
      "end": 237,
      "loc": {
        "start": {
          "line": 8,
          "column": 6
        },
        "end": {
          "line": 8,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 238,
      "end": 239,
      "loc": {
        "start": {
          "line": 8,
          "column": 46
        },
        "end": {
          "line": 8,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "association",
      "start": 240,
      "end": 251,
      "loc": {
        "start": {
          "line": 8,
          "column": 48
        },
        "end": {
          "line": 8,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 251,
      "end": 252,
      "loc": {
        "start": {
          "line": 8,
          "column": 59
        },
        "end": {
          "line": 8,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "as",
      "start": 252,
      "end": 254,
      "loc": {
        "start": {
          "line": 8,
          "column": 60
        },
        "end": {
          "line": 8,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 255,
      "end": 256,
      "loc": {
        "start": {
          "line": 8,
          "column": 63
        },
        "end": {
          "line": 8,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "' and association '",
      "start": 263,
      "end": 286,
      "loc": {
        "start": {
          "line": 9,
          "column": 6
        },
        "end": {
          "line": 9,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 287,
      "end": 288,
      "loc": {
        "start": {
          "line": 9,
          "column": 30
        },
        "end": {
          "line": 9,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "association",
      "start": 289,
      "end": 300,
      "loc": {
        "start": {
          "line": 9,
          "column": 32
        },
        "end": {
          "line": 9,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 300,
      "end": 301,
      "loc": {
        "start": {
          "line": 9,
          "column": 43
        },
        "end": {
          "line": 9,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "as",
      "start": 301,
      "end": 303,
      "loc": {
        "start": {
          "line": 9,
          "column": 44
        },
        "end": {
          "line": 9,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 304,
      "end": 305,
      "loc": {
        "start": {
          "line": 9,
          "column": 47
        },
        "end": {
          "line": 9,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "' on model ",
      "start": 306,
      "end": 320,
      "loc": {
        "start": {
          "line": 9,
          "column": 49
        },
        "end": {
          "line": 9,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 321,
      "end": 322,
      "loc": {
        "start": {
          "line": 9,
          "column": 64
        },
        "end": {
          "line": 9,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "association",
      "start": 323,
      "end": 334,
      "loc": {
        "start": {
          "line": 9,
          "column": 66
        },
        "end": {
          "line": 9,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 334,
      "end": 335,
      "loc": {
        "start": {
          "line": 9,
          "column": 77
        },
        "end": {
          "line": 9,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 335,
      "end": 341,
      "loc": {
        "start": {
          "line": 9,
          "column": 78
        },
        "end": {
          "line": 9,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 341,
      "end": 342,
      "loc": {
        "start": {
          "line": 9,
          "column": 84
        },
        "end": {
          "line": 9,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 342,
      "end": 346,
      "loc": {
        "start": {
          "line": 9,
          "column": 85
        },
        "end": {
          "line": 9,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 347,
      "end": 348,
      "loc": {
        "start": {
          "line": 9,
          "column": 90
        },
        "end": {
          "line": 9,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ". To remedy this, change either foreignKey or as in your association definition",
      "start": 355,
      "end": 436,
      "loc": {
        "start": {
          "line": 10,
          "column": 6
        },
        "end": {
          "line": 10,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 441,
      "end": 442,
      "loc": {
        "start": {
          "line": 11,
          "column": 4
        },
        "end": {
          "line": 11,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 442,
      "end": 443,
      "loc": {
        "start": {
          "line": 11,
          "column": 5
        },
        "end": {
          "line": 11,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 446,
      "end": 447,
      "loc": {
        "start": {
          "line": 12,
          "column": 2
        },
        "end": {
          "line": 12,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 448,
      "end": 449,
      "loc": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 13,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 450,
      "end": 457,
      "loc": {
        "start": {
          "line": 14,
          "column": 0
        },
        "end": {
          "line": 14,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 457,
      "end": 458,
      "loc": {
        "start": {
          "line": 14,
          "column": 7
        },
        "end": {
          "line": 14,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "checkNamingCollision",
      "start": 458,
      "end": 478,
      "loc": {
        "start": {
          "line": 14,
          "column": 8
        },
        "end": {
          "line": 14,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 479,
      "end": 480,
      "loc": {
        "start": {
          "line": 14,
          "column": 29
        },
        "end": {
          "line": 14,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "checkNamingCollision",
      "start": 481,
      "end": 501,
      "loc": {
        "start": {
          "line": 14,
          "column": 31
        },
        "end": {
          "line": 14,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 501,
      "end": 502,
      "loc": {
        "start": {
          "line": 14,
          "column": 51
        },
        "end": {
          "line": 14,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 504,
      "end": 512,
      "loc": {
        "start": {
          "line": 16,
          "column": 0
        },
        "end": {
          "line": 16,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addForeignKeyConstraints",
      "start": 513,
      "end": 537,
      "loc": {
        "start": {
          "line": 16,
          "column": 9
        },
        "end": {
          "line": 16,
          "column": 33
        }
      }
    },
    {
      "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": 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": "newAttribute",
      "start": 538,
      "end": 550,
      "loc": {
        "start": {
          "line": 16,
          "column": 34
        },
        "end": {
          "line": 16,
          "column": 46
        }
      }
    },
    {
      "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": 16,
          "column": 46
        },
        "end": {
          "line": 16,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 552,
      "end": 558,
      "loc": {
        "start": {
          "line": 16,
          "column": 48
        },
        "end": {
          "line": 16,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 558,
      "end": 559,
      "loc": {
        "start": {
          "line": 16,
          "column": 54
        },
        "end": {
          "line": 16,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 560,
      "end": 566,
      "loc": {
        "start": {
          "line": 16,
          "column": 56
        },
        "end": {
          "line": 16,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 566,
      "end": 567,
      "loc": {
        "start": {
          "line": 16,
          "column": 62
        },
        "end": {
          "line": 16,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 568,
      "end": 575,
      "loc": {
        "start": {
          "line": 16,
          "column": 64
        },
        "end": {
          "line": 16,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 575,
      "end": 576,
      "loc": {
        "start": {
          "line": 16,
          "column": 71
        },
        "end": {
          "line": 16,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 577,
      "end": 580,
      "loc": {
        "start": {
          "line": 16,
          "column": 73
        },
        "end": {
          "line": 16,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 580,
      "end": 581,
      "loc": {
        "start": {
          "line": 16,
          "column": 76
        },
        "end": {
          "line": 16,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 582,
      "end": 583,
      "loc": {
        "start": {
          "line": 16,
          "column": 78
        },
        "end": {
          "line": 16,
          "column": 79
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " FK constraints are opt-in: users must either set `foreignKeyConstraints`",
      "start": 586,
      "end": 661,
      "loc": {
        "start": {
          "line": 17,
          "column": 2
        },
        "end": {
          "line": 17,
          "column": 77
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " on the association, or request an `onDelete` or `onUpdate` behaviour",
      "start": 664,
      "end": 735,
      "loc": {
        "start": {
          "line": 18,
          "column": 2
        },
        "end": {
          "line": 18,
          "column": 73
        }
      }
    },
    {
      "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": 739,
      "end": 741,
      "loc": {
        "start": {
          "line": 20,
          "column": 2
        },
        "end": {
          "line": 20,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 742,
      "end": 743,
      "loc": {
        "start": {
          "line": 20,
          "column": 5
        },
        "end": {
          "line": 20,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 743,
      "end": 750,
      "loc": {
        "start": {
          "line": 20,
          "column": 6
        },
        "end": {
          "line": 20,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 750,
      "end": 751,
      "loc": {
        "start": {
          "line": 20,
          "column": 13
        },
        "end": {
          "line": 20,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "foreignKeyConstraint",
      "start": 751,
      "end": 771,
      "loc": {
        "start": {
          "line": 20,
          "column": 14
        },
        "end": {
          "line": 20,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 772,
      "end": 774,
      "loc": {
        "start": {
          "line": 20,
          "column": 35
        },
        "end": {
          "line": 20,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 775,
      "end": 782,
      "loc": {
        "start": {
          "line": 20,
          "column": 38
        },
        "end": {
          "line": 20,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 782,
      "end": 783,
      "loc": {
        "start": {
          "line": 20,
          "column": 45
        },
        "end": {
          "line": 20,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onDelete",
      "start": 783,
      "end": 791,
      "loc": {
        "start": {
          "line": 20,
          "column": 46
        },
        "end": {
          "line": 20,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 792,
      "end": 794,
      "loc": {
        "start": {
          "line": 20,
          "column": 55
        },
        "end": {
          "line": 20,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 795,
      "end": 802,
      "loc": {
        "start": {
          "line": 20,
          "column": 58
        },
        "end": {
          "line": 20,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 802,
      "end": 803,
      "loc": {
        "start": {
          "line": 20,
          "column": 65
        },
        "end": {
          "line": 20,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onUpdate",
      "start": 803,
      "end": 811,
      "loc": {
        "start": {
          "line": 20,
          "column": 66
        },
        "end": {
          "line": 20,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 811,
      "end": 812,
      "loc": {
        "start": {
          "line": 20,
          "column": 74
        },
        "end": {
          "line": 20,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 813,
      "end": 814,
      "loc": {
        "start": {
          "line": 20,
          "column": 76
        },
        "end": {
          "line": 20,
          "column": 77
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Find primary keys: composite keys not supported with this approach",
      "start": 820,
      "end": 889,
      "loc": {
        "start": {
          "line": 22,
          "column": 4
        },
        "end": {
          "line": 22,
          "column": 73
        }
      }
    },
    {
      "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": 894,
      "end": 899,
      "loc": {
        "start": {
          "line": 23,
          "column": 4
        },
        "end": {
          "line": 23,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "primaryKeys",
      "start": 900,
      "end": 911,
      "loc": {
        "start": {
          "line": 23,
          "column": 10
        },
        "end": {
          "line": 23,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 912,
      "end": 913,
      "loc": {
        "start": {
          "line": 23,
          "column": 22
        },
        "end": {
          "line": 23,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Utils",
      "start": 914,
      "end": 919,
      "loc": {
        "start": {
          "line": 23,
          "column": 24
        },
        "end": {
          "line": 23,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 919,
      "end": 920,
      "loc": {
        "start": {
          "line": 23,
          "column": 29
        },
        "end": {
          "line": 23,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_",
      "start": 920,
      "end": 921,
      "loc": {
        "start": {
          "line": 23,
          "column": 30
        },
        "end": {
          "line": 23,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 921,
      "end": 922,
      "loc": {
        "start": {
          "line": 23,
          "column": 31
        },
        "end": {
          "line": 23,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "chain",
      "start": 922,
      "end": 927,
      "loc": {
        "start": {
          "line": 23,
          "column": 32
        },
        "end": {
          "line": 23,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 927,
      "end": 928,
      "loc": {
        "start": {
          "line": 23,
          "column": 37
        },
        "end": {
          "line": 23,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 928,
      "end": 934,
      "loc": {
        "start": {
          "line": 23,
          "column": 38
        },
        "end": {
          "line": 23,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 934,
      "end": 935,
      "loc": {
        "start": {
          "line": 23,
          "column": 44
        },
        "end": {
          "line": 23,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rawAttributes",
      "start": 935,
      "end": 948,
      "loc": {
        "start": {
          "line": 23,
          "column": 45
        },
        "end": {
          "line": 23,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 948,
      "end": 949,
      "loc": {
        "start": {
          "line": 23,
          "column": 58
        },
        "end": {
          "line": 23,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 949,
      "end": 950,
      "loc": {
        "start": {
          "line": 23,
          "column": 59
        },
        "end": {
          "line": 23,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keys",
      "start": 950,
      "end": 954,
      "loc": {
        "start": {
          "line": 23,
          "column": 60
        },
        "end": {
          "line": 23,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 954,
      "end": 955,
      "loc": {
        "start": {
          "line": 23,
          "column": 64
        },
        "end": {
          "line": 23,
          "column": 65
        }
      }
    },
    {
      "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": 23,
          "column": 65
        },
        "end": {
          "line": 23,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 963,
      "end": 964,
      "loc": {
        "start": {
          "line": 24,
          "column": 6
        },
        "end": {
          "line": 24,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "filter",
      "start": 964,
      "end": 970,
      "loc": {
        "start": {
          "line": 24,
          "column": 7
        },
        "end": {
          "line": 24,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 970,
      "end": 971,
      "loc": {
        "start": {
          "line": 24,
          "column": 13
        },
        "end": {
          "line": 24,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 971,
      "end": 974,
      "loc": {
        "start": {
          "line": 24,
          "column": 14
        },
        "end": {
          "line": 24,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 975,
      "end": 977,
      "loc": {
        "start": {
          "line": 24,
          "column": 18
        },
        "end": {
          "line": 24,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 978,
      "end": 984,
      "loc": {
        "start": {
          "line": 24,
          "column": 21
        },
        "end": {
          "line": 24,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 984,
      "end": 985,
      "loc": {
        "start": {
          "line": 24,
          "column": 27
        },
        "end": {
          "line": 24,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rawAttributes",
      "start": 985,
      "end": 998,
      "loc": {
        "start": {
          "line": 24,
          "column": 28
        },
        "end": {
          "line": 24,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 998,
      "end": 999,
      "loc": {
        "start": {
          "line": 24,
          "column": 41
        },
        "end": {
          "line": 24,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 999,
      "end": 1002,
      "loc": {
        "start": {
          "line": 24,
          "column": 42
        },
        "end": {
          "line": 24,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1002,
      "end": 1003,
      "loc": {
        "start": {
          "line": 24,
          "column": 45
        },
        "end": {
          "line": 24,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1003,
      "end": 1004,
      "loc": {
        "start": {
          "line": 24,
          "column": 46
        },
        "end": {
          "line": 24,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "primaryKey",
      "start": 1004,
      "end": 1014,
      "loc": {
        "start": {
          "line": 24,
          "column": 47
        },
        "end": {
          "line": 24,
          "column": 57
        }
      }
    },
    {
      "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": 24,
          "column": 57
        },
        "end": {
          "line": 24,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1022,
      "end": 1023,
      "loc": {
        "start": {
          "line": 25,
          "column": 6
        },
        "end": {
          "line": 25,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "map",
      "start": 1023,
      "end": 1026,
      "loc": {
        "start": {
          "line": 25,
          "column": 7
        },
        "end": {
          "line": 25,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1026,
      "end": 1027,
      "loc": {
        "start": {
          "line": 25,
          "column": 10
        },
        "end": {
          "line": 25,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 1027,
      "end": 1030,
      "loc": {
        "start": {
          "line": 25,
          "column": 11
        },
        "end": {
          "line": 25,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1031,
      "end": 1033,
      "loc": {
        "start": {
          "line": 25,
          "column": 15
        },
        "end": {
          "line": 25,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 1034,
      "end": 1040,
      "loc": {
        "start": {
          "line": 25,
          "column": 18
        },
        "end": {
          "line": 25,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1040,
      "end": 1041,
      "loc": {
        "start": {
          "line": 25,
          "column": 24
        },
        "end": {
          "line": 25,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "rawAttributes",
      "start": 1041,
      "end": 1054,
      "loc": {
        "start": {
          "line": 25,
          "column": 25
        },
        "end": {
          "line": 25,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1054,
      "end": 1055,
      "loc": {
        "start": {
          "line": 25,
          "column": 38
        },
        "end": {
          "line": 25,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 1055,
      "end": 1058,
      "loc": {
        "start": {
          "line": 25,
          "column": 39
        },
        "end": {
          "line": 25,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1058,
      "end": 1059,
      "loc": {
        "start": {
          "line": 25,
          "column": 42
        },
        "end": {
          "line": 25,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1059,
      "end": 1060,
      "loc": {
        "start": {
          "line": 25,
          "column": 43
        },
        "end": {
          "line": 25,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "field",
      "start": 1060,
      "end": 1065,
      "loc": {
        "start": {
          "line": 25,
          "column": 44
        },
        "end": {
          "line": 25,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 1066,
      "end": 1068,
      "loc": {
        "start": {
          "line": 25,
          "column": 50
        },
        "end": {
          "line": 25,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 1069,
      "end": 1072,
      "loc": {
        "start": {
          "line": 25,
          "column": 53
        },
        "end": {
          "line": 25,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1072,
      "end": 1073,
      "loc": {
        "start": {
          "line": 25,
          "column": 56
        },
        "end": {
          "line": 25,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1073,
      "end": 1074,
      "loc": {
        "start": {
          "line": 25,
          "column": 57
        },
        "end": {
          "line": 25,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 1074,
      "end": 1079,
      "loc": {
        "start": {
          "line": 25,
          "column": 58
        },
        "end": {
          "line": 25,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1079,
      "end": 1080,
      "loc": {
        "start": {
          "line": 25,
          "column": 63
        },
        "end": {
          "line": 25,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1080,
      "end": 1081,
      "loc": {
        "start": {
          "line": 25,
          "column": 64
        },
        "end": {
          "line": 25,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1081,
      "end": 1082,
      "loc": {
        "start": {
          "line": 25,
          "column": 65
        },
        "end": {
          "line": 25,
          "column": 66
        }
      }
    },
    {
      "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": 1088,
      "end": 1090,
      "loc": {
        "start": {
          "line": 27,
          "column": 4
        },
        "end": {
          "line": 27,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1091,
      "end": 1092,
      "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": "primaryKeys",
      "start": 1092,
      "end": 1103,
      "loc": {
        "start": {
          "line": 27,
          "column": 8
        },
        "end": {
          "line": 27,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1103,
      "end": 1104,
      "loc": {
        "start": {
          "line": 27,
          "column": 19
        },
        "end": {
          "line": 27,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 1104,
      "end": 1110,
      "loc": {
        "start": {
          "line": 27,
          "column": 20
        },
        "end": {
          "line": 27,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1111,
      "end": 1114,
      "loc": {
        "start": {
          "line": 27,
          "column": 27
        },
        "end": {
          "line": 27,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 1115,
      "end": 1116,
      "loc": {
        "start": {
          "line": 27,
          "column": 31
        },
        "end": {
          "line": 27,
          "column": 32
        }
      }
    },
    {
      "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": 27,
          "column": 32
        },
        "end": {
          "line": 27,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1118,
      "end": 1119,
      "loc": {
        "start": {
          "line": 27,
          "column": 34
        },
        "end": {
          "line": 27,
          "column": 35
        }
      }
    },
    {
      "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": 1126,
      "end": 1128,
      "loc": {
        "start": {
          "line": 28,
          "column": 6
        },
        "end": {
          "line": 28,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1129,
      "end": 1130,
      "loc": {
        "start": {
          "line": 28,
          "column": 9
        },
        "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": 1130,
      "end": 1131,
      "loc": {
        "start": {
          "line": 28,
          "column": 10
        },
        "end": {
          "line": 28,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1131,
      "end": 1132,
      "loc": {
        "start": {
          "line": 28,
          "column": 11
        },
        "end": {
          "line": 28,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 1132,
      "end": 1138,
      "loc": {
        "start": {
          "line": 28,
          "column": 12
        },
        "end": {
          "line": 28,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1138,
      "end": 1139,
      "loc": {
        "start": {
          "line": 28,
          "column": 18
        },
        "end": {
          "line": 28,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_schema",
      "start": 1139,
      "end": 1146,
      "loc": {
        "start": {
          "line": 28,
          "column": 19
        },
        "end": {
          "line": 28,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1146,
      "end": 1147,
      "loc": {
        "start": {
          "line": 28,
          "column": 26
        },
        "end": {
          "line": 28,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1148,
      "end": 1149,
      "loc": {
        "start": {
          "line": 28,
          "column": 28
        },
        "end": {
          "line": 28,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newAttribute",
      "start": 1158,
      "end": 1170,
      "loc": {
        "start": {
          "line": 29,
          "column": 8
        },
        "end": {
          "line": 29,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1170,
      "end": 1171,
      "loc": {
        "start": {
          "line": 29,
          "column": 20
        },
        "end": {
          "line": 29,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "references",
      "start": 1171,
      "end": 1181,
      "loc": {
        "start": {
          "line": 29,
          "column": 21
        },
        "end": {
          "line": 29,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1182,
      "end": 1183,
      "loc": {
        "start": {
          "line": 29,
          "column": 32
        },
        "end": {
          "line": 29,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1184,
      "end": 1185,
      "loc": {
        "start": {
          "line": 29,
          "column": 34
        },
        "end": {
          "line": 29,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "model",
      "start": 1196,
      "end": 1201,
      "loc": {
        "start": {
          "line": 30,
          "column": 10
        },
        "end": {
          "line": 30,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1201,
      "end": 1202,
      "loc": {
        "start": {
          "line": 30,
          "column": 15
        },
        "end": {
          "line": 30,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 1203,
      "end": 1209,
      "loc": {
        "start": {
          "line": 30,
          "column": 17
        },
        "end": {
          "line": 30,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1209,
      "end": 1210,
      "loc": {
        "start": {
          "line": 30,
          "column": 23
        },
        "end": {
          "line": 30,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sequelize",
      "start": 1210,
      "end": 1219,
      "loc": {
        "start": {
          "line": 30,
          "column": 24
        },
        "end": {
          "line": 30,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1219,
      "end": 1220,
      "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": "queryInterface",
      "start": 1220,
      "end": 1234,
      "loc": {
        "start": {
          "line": 30,
          "column": 34
        },
        "end": {
          "line": 30,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1234,
      "end": 1235,
      "loc": {
        "start": {
          "line": 30,
          "column": 48
        },
        "end": {
          "line": 30,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "QueryGenerator",
      "start": 1235,
      "end": 1249,
      "loc": {
        "start": {
          "line": 30,
          "column": 49
        },
        "end": {
          "line": 30,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1249,
      "end": 1250,
      "loc": {
        "start": {
          "line": 30,
          "column": 63
        },
        "end": {
          "line": 30,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addSchema",
      "start": 1250,
      "end": 1259,
      "loc": {
        "start": {
          "line": 30,
          "column": 64
        },
        "end": {
          "line": 30,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1259,
      "end": 1260,
      "loc": {
        "start": {
          "line": 30,
          "column": 73
        },
        "end": {
          "line": 30,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1260,
      "end": 1261,
      "loc": {
        "start": {
          "line": 30,
          "column": 74
        },
        "end": {
          "line": 30,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tableName",
      "start": 1274,
      "end": 1283,
      "loc": {
        "start": {
          "line": 31,
          "column": 12
        },
        "end": {
          "line": 31,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1283,
      "end": 1284,
      "loc": {
        "start": {
          "line": 31,
          "column": 21
        },
        "end": {
          "line": 31,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 1285,
      "end": 1291,
      "loc": {
        "start": {
          "line": 31,
          "column": 23
        },
        "end": {
          "line": 31,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1291,
      "end": 1292,
      "loc": {
        "start": {
          "line": 31,
          "column": 29
        },
        "end": {
          "line": 31,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tableName",
      "start": 1292,
      "end": 1301,
      "loc": {
        "start": {
          "line": 31,
          "column": 30
        },
        "end": {
          "line": 31,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1301,
      "end": 1302,
      "loc": {
        "start": {
          "line": 31,
          "column": 39
        },
        "end": {
          "line": 31,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_schema",
      "start": 1315,
      "end": 1322,
      "loc": {
        "start": {
          "line": 32,
          "column": 12
        },
        "end": {
          "line": 32,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1322,
      "end": 1323,
      "loc": {
        "start": {
          "line": 32,
          "column": 19
        },
        "end": {
          "line": 32,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 1324,
      "end": 1330,
      "loc": {
        "start": {
          "line": 32,
          "column": 21
        },
        "end": {
          "line": 32,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1330,
      "end": 1331,
      "loc": {
        "start": {
          "line": 32,
          "column": 27
        },
        "end": {
          "line": 32,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_schema",
      "start": 1331,
      "end": 1338,
      "loc": {
        "start": {
          "line": 32,
          "column": 28
        },
        "end": {
          "line": 32,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1338,
      "end": 1339,
      "loc": {
        "start": {
          "line": 32,
          "column": 35
        },
        "end": {
          "line": 32,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_schemaDelimiter",
      "start": 1352,
      "end": 1368,
      "loc": {
        "start": {
          "line": 33,
          "column": 12
        },
        "end": {
          "line": 33,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1368,
      "end": 1369,
      "loc": {
        "start": {
          "line": 33,
          "column": 28
        },
        "end": {
          "line": 33,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 1370,
      "end": 1376,
      "loc": {
        "start": {
          "line": 33,
          "column": 30
        },
        "end": {
          "line": 33,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1376,
      "end": 1377,
      "loc": {
        "start": {
          "line": 33,
          "column": 36
        },
        "end": {
          "line": 33,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_schemaDelimiter",
      "start": 1377,
      "end": 1393,
      "loc": {
        "start": {
          "line": 33,
          "column": 37
        },
        "end": {
          "line": 33,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1404,
      "end": 1405,
      "loc": {
        "start": {
          "line": 34,
          "column": 10
        },
        "end": {
          "line": 34,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1405,
      "end": 1406,
      "loc": {
        "start": {
          "line": 34,
          "column": 11
        },
        "end": {
          "line": 34,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1415,
      "end": 1416,
      "loc": {
        "start": {
          "line": 35,
          "column": 8
        },
        "end": {
          "line": 35,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1416,
      "end": 1417,
      "loc": {
        "start": {
          "line": 35,
          "column": 9
        },
        "end": {
          "line": 35,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1424,
      "end": 1425,
      "loc": {
        "start": {
          "line": 36,
          "column": 6
        },
        "end": {
          "line": 36,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 1426,
      "end": 1430,
      "loc": {
        "start": {
          "line": 36,
          "column": 8
        },
        "end": {
          "line": 36,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1431,
      "end": 1432,
      "loc": {
        "start": {
          "line": 36,
          "column": 13
        },
        "end": {
          "line": 36,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newAttribute",
      "start": 1441,
      "end": 1453,
      "loc": {
        "start": {
          "line": 37,
          "column": 8
        },
        "end": {
          "line": 37,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1453,
      "end": 1454,
      "loc": {
        "start": {
          "line": 37,
          "column": 20
        },
        "end": {
          "line": 37,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "references",
      "start": 1454,
      "end": 1464,
      "loc": {
        "start": {
          "line": 37,
          "column": 21
        },
        "end": {
          "line": 37,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1465,
      "end": 1466,
      "loc": {
        "start": {
          "line": 37,
          "column": 32
        },
        "end": {
          "line": 37,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1467,
      "end": 1468,
      "loc": {
        "start": {
          "line": 37,
          "column": 34
        },
        "end": {
          "line": 37,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "model",
      "start": 1469,
      "end": 1474,
      "loc": {
        "start": {
          "line": 37,
          "column": 36
        },
        "end": {
          "line": 37,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1474,
      "end": 1475,
      "loc": {
        "start": {
          "line": 37,
          "column": 41
        },
        "end": {
          "line": 37,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 1476,
      "end": 1482,
      "loc": {
        "start": {
          "line": 37,
          "column": 43
        },
        "end": {
          "line": 37,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1482,
      "end": 1483,
      "loc": {
        "start": {
          "line": 37,
          "column": 49
        },
        "end": {
          "line": 37,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tableName",
      "start": 1483,
      "end": 1492,
      "loc": {
        "start": {
          "line": 37,
          "column": 50
        },
        "end": {
          "line": 37,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1493,
      "end": 1494,
      "loc": {
        "start": {
          "line": 37,
          "column": 60
        },
        "end": {
          "line": 37,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1494,
      "end": 1495,
      "loc": {
        "start": {
          "line": 37,
          "column": 61
        },
        "end": {
          "line": 37,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1502,
      "end": 1503,
      "loc": {
        "start": {
          "line": 38,
          "column": 6
        },
        "end": {
          "line": 38,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newAttribute",
      "start": 1511,
      "end": 1523,
      "loc": {
        "start": {
          "line": 40,
          "column": 6
        },
        "end": {
          "line": 40,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1523,
      "end": 1524,
      "loc": {
        "start": {
          "line": 40,
          "column": 18
        },
        "end": {
          "line": 40,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "references",
      "start": 1524,
      "end": 1534,
      "loc": {
        "start": {
          "line": 40,
          "column": 19
        },
        "end": {
          "line": 40,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1534,
      "end": 1535,
      "loc": {
        "start": {
          "line": 40,
          "column": 29
        },
        "end": {
          "line": 40,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 1535,
      "end": 1538,
      "loc": {
        "start": {
          "line": 40,
          "column": 30
        },
        "end": {
          "line": 40,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1539,
      "end": 1540,
      "loc": {
        "start": {
          "line": 40,
          "column": 34
        },
        "end": {
          "line": 40,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "key",
      "start": 1541,
      "end": 1544,
      "loc": {
        "start": {
          "line": 40,
          "column": 36
        },
        "end": {
          "line": 40,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 1545,
      "end": 1547,
      "loc": {
        "start": {
          "line": 40,
          "column": 40
        },
        "end": {
          "line": 40,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "primaryKeys",
      "start": 1548,
      "end": 1559,
      "loc": {
        "start": {
          "line": 40,
          "column": 43
        },
        "end": {
          "line": 40,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1559,
      "end": 1560,
      "loc": {
        "start": {
          "line": 40,
          "column": 54
        },
        "end": {
          "line": 40,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 1560,
      "end": 1561,
      "loc": {
        "start": {
          "line": 40,
          "column": 55
        },
        "end": {
          "line": 40,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1561,
      "end": 1562,
      "loc": {
        "start": {
          "line": 40,
          "column": 56
        },
        "end": {
          "line": 40,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1562,
      "end": 1563,
      "loc": {
        "start": {
          "line": 40,
          "column": 57
        },
        "end": {
          "line": 40,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newAttribute",
      "start": 1570,
      "end": 1582,
      "loc": {
        "start": {
          "line": 41,
          "column": 6
        },
        "end": {
          "line": 41,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1582,
      "end": 1583,
      "loc": {
        "start": {
          "line": 41,
          "column": 18
        },
        "end": {
          "line": 41,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onDelete",
      "start": 1583,
      "end": 1591,
      "loc": {
        "start": {
          "line": 41,
          "column": 19
        },
        "end": {
          "line": 41,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1592,
      "end": 1593,
      "loc": {
        "start": {
          "line": 41,
          "column": 28
        },
        "end": {
          "line": 41,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 1594,
      "end": 1601,
      "loc": {
        "start": {
          "line": 41,
          "column": 30
        },
        "end": {
          "line": 41,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1601,
      "end": 1602,
      "loc": {
        "start": {
          "line": 41,
          "column": 37
        },
        "end": {
          "line": 41,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onDelete",
      "start": 1602,
      "end": 1610,
      "loc": {
        "start": {
          "line": 41,
          "column": 38
        },
        "end": {
          "line": 41,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1610,
      "end": 1611,
      "loc": {
        "start": {
          "line": 41,
          "column": 46
        },
        "end": {
          "line": 41,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newAttribute",
      "start": 1618,
      "end": 1630,
      "loc": {
        "start": {
          "line": 42,
          "column": 6
        },
        "end": {
          "line": 42,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1630,
      "end": 1631,
      "loc": {
        "start": {
          "line": 42,
          "column": 18
        },
        "end": {
          "line": 42,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onUpdate",
      "start": 1631,
      "end": 1639,
      "loc": {
        "start": {
          "line": 42,
          "column": 19
        },
        "end": {
          "line": 42,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1640,
      "end": 1641,
      "loc": {
        "start": {
          "line": 42,
          "column": 28
        },
        "end": {
          "line": 42,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 1642,
      "end": 1649,
      "loc": {
        "start": {
          "line": 42,
          "column": 30
        },
        "end": {
          "line": 42,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1649,
      "end": 1650,
      "loc": {
        "start": {
          "line": 42,
          "column": 37
        },
        "end": {
          "line": 42,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onUpdate",
      "start": 1650,
      "end": 1658,
      "loc": {
        "start": {
          "line": 42,
          "column": 38
        },
        "end": {
          "line": 42,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1658,
      "end": 1659,
      "loc": {
        "start": {
          "line": 42,
          "column": 46
        },
        "end": {
          "line": 42,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1664,
      "end": 1665,
      "loc": {
        "start": {
          "line": 43,
          "column": 4
        },
        "end": {
          "line": 43,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1668,
      "end": 1669,
      "loc": {
        "start": {
          "line": 44,
          "column": 2
        },
        "end": {
          "line": 44,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1670,
      "end": 1671,
      "loc": {
        "start": {
          "line": 45,
          "column": 0
        },
        "end": {
          "line": 45,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 1672,
      "end": 1679,
      "loc": {
        "start": {
          "line": 46,
          "column": 0
        },
        "end": {
          "line": 46,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1679,
      "end": 1680,
      "loc": {
        "start": {
          "line": 46,
          "column": 7
        },
        "end": {
          "line": 46,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addForeignKeyConstraints",
      "start": 1680,
      "end": 1704,
      "loc": {
        "start": {
          "line": 46,
          "column": 8
        },
        "end": {
          "line": 46,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1705,
      "end": 1706,
      "loc": {
        "start": {
          "line": 46,
          "column": 33
        },
        "end": {
          "line": 46,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addForeignKeyConstraints",
      "start": 1707,
      "end": 1731,
      "loc": {
        "start": {
          "line": 46,
          "column": 35
        },
        "end": {
          "line": 46,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1731,
      "end": 1732,
      "loc": {
        "start": {
          "line": 46,
          "column": 59
        },
        "end": {
          "line": 46,
          "column": 60
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * Mixin (inject) association methods to model prototype\n *\n * @private\n * @param {Object} Association instance\n * @param {Object} Model prototype\n * @param {Array} Method names to inject\n * @param {Object} Mapping between model and association method names\n ",
      "start": 1734,
      "end": 1999,
      "loc": {
        "start": {
          "line": 48,
          "column": 0
        },
        "end": {
          "line": 56,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2000,
      "end": 2008,
      "loc": {
        "start": {
          "line": 57,
          "column": 0
        },
        "end": {
          "line": 57,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mixinMethods",
      "start": 2009,
      "end": 2021,
      "loc": {
        "start": {
          "line": 57,
          "column": 9
        },
        "end": {
          "line": 57,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2021,
      "end": 2022,
      "loc": {
        "start": {
          "line": 57,
          "column": 21
        },
        "end": {
          "line": 57,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "association",
      "start": 2022,
      "end": 2033,
      "loc": {
        "start": {
          "line": 57,
          "column": 22
        },
        "end": {
          "line": 57,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2033,
      "end": 2034,
      "loc": {
        "start": {
          "line": 57,
          "column": 33
        },
        "end": {
          "line": 57,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 2035,
      "end": 2038,
      "loc": {
        "start": {
          "line": 57,
          "column": 35
        },
        "end": {
          "line": 57,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2038,
      "end": 2039,
      "loc": {
        "start": {
          "line": 57,
          "column": 38
        },
        "end": {
          "line": 57,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "methods",
      "start": 2040,
      "end": 2047,
      "loc": {
        "start": {
          "line": 57,
          "column": 40
        },
        "end": {
          "line": 57,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2047,
      "end": 2048,
      "loc": {
        "start": {
          "line": 57,
          "column": 47
        },
        "end": {
          "line": 57,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "aliases",
      "start": 2049,
      "end": 2056,
      "loc": {
        "start": {
          "line": 57,
          "column": 49
        },
        "end": {
          "line": 57,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2056,
      "end": 2057,
      "loc": {
        "start": {
          "line": 57,
          "column": 56
        },
        "end": {
          "line": 57,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2058,
      "end": 2059,
      "loc": {
        "start": {
          "line": 57,
          "column": 58
        },
        "end": {
          "line": 57,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "aliases",
      "start": 2062,
      "end": 2069,
      "loc": {
        "start": {
          "line": 58,
          "column": 2
        },
        "end": {
          "line": 58,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2070,
      "end": 2071,
      "loc": {
        "start": {
          "line": 58,
          "column": 10
        },
        "end": {
          "line": 58,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "aliases",
      "start": 2072,
      "end": 2079,
      "loc": {
        "start": {
          "line": 58,
          "column": 12
        },
        "end": {
          "line": 58,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 2080,
      "end": 2082,
      "loc": {
        "start": {
          "line": 58,
          "column": 20
        },
        "end": {
          "line": 58,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2083,
      "end": 2084,
      "loc": {
        "start": {
          "line": 58,
          "column": 23
        },
        "end": {
          "line": 58,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2084,
      "end": 2085,
      "loc": {
        "start": {
          "line": 58,
          "column": 24
        },
        "end": {
          "line": 58,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2085,
      "end": 2086,
      "loc": {
        "start": {
          "line": 58,
          "column": 25
        },
        "end": {
          "line": 58,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 2090,
      "end": 2093,
      "loc": {
        "start": {
          "line": 60,
          "column": 2
        },
        "end": {
          "line": 60,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2094,
      "end": 2095,
      "loc": {
        "start": {
          "line": 60,
          "column": 6
        },
        "end": {
          "line": 60,
          "column": 7
        }
      }
    },
    {
      "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": 2095,
      "end": 2100,
      "loc": {
        "start": {
          "line": 60,
          "column": 7
        },
        "end": {
          "line": 60,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "method",
      "start": 2101,
      "end": 2107,
      "loc": {
        "start": {
          "line": 60,
          "column": 13
        },
        "end": {
          "line": 60,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 2108,
      "end": 2110,
      "loc": {
        "start": {
          "line": 60,
          "column": 20
        },
        "end": {
          "line": 60,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "methods",
      "start": 2111,
      "end": 2118,
      "loc": {
        "start": {
          "line": 60,
          "column": 23
        },
        "end": {
          "line": 60,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2118,
      "end": 2119,
      "loc": {
        "start": {
          "line": 60,
          "column": 30
        },
        "end": {
          "line": 60,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2120,
      "end": 2121,
      "loc": {
        "start": {
          "line": 60,
          "column": 32
        },
        "end": {
          "line": 60,
          "column": 33
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " don't override custom methods",
      "start": 2126,
      "end": 2158,
      "loc": {
        "start": {
          "line": 61,
          "column": 4
        },
        "end": {
          "line": 61,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2163,
      "end": 2165,
      "loc": {
        "start": {
          "line": 62,
          "column": 4
        },
        "end": {
          "line": 62,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2166,
      "end": 2167,
      "loc": {
        "start": {
          "line": 62,
          "column": 7
        },
        "end": {
          "line": 62,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 2167,
      "end": 2168,
      "loc": {
        "start": {
          "line": 62,
          "column": 8
        },
        "end": {
          "line": 62,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 2168,
      "end": 2171,
      "loc": {
        "start": {
          "line": 62,
          "column": 9
        },
        "end": {
          "line": 62,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2171,
      "end": 2172,
      "loc": {
        "start": {
          "line": 62,
          "column": 12
        },
        "end": {
          "line": 62,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "association",
      "start": 2172,
      "end": 2183,
      "loc": {
        "start": {
          "line": 62,
          "column": 13
        },
        "end": {
          "line": 62,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2183,
      "end": 2184,
      "loc": {
        "start": {
          "line": 62,
          "column": 24
        },
        "end": {
          "line": 62,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "accessors",
      "start": 2184,
      "end": 2193,
      "loc": {
        "start": {
          "line": 62,
          "column": 25
        },
        "end": {
          "line": 62,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2193,
      "end": 2194,
      "loc": {
        "start": {
          "line": 62,
          "column": 34
        },
        "end": {
          "line": 62,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "method",
      "start": 2194,
      "end": 2200,
      "loc": {
        "start": {
          "line": 62,
          "column": 35
        },
        "end": {
          "line": 62,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2200,
      "end": 2201,
      "loc": {
        "start": {
          "line": 62,
          "column": 41
        },
        "end": {
          "line": 62,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2201,
      "end": 2202,
      "loc": {
        "start": {
          "line": 62,
          "column": 42
        },
        "end": {
          "line": 62,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2202,
      "end": 2203,
      "loc": {
        "start": {
          "line": 62,
          "column": 43
        },
        "end": {
          "line": 62,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2204,
      "end": 2205,
      "loc": {
        "start": {
          "line": 62,
          "column": 45
        },
        "end": {
          "line": 62,
          "column": 46
        }
      }
    },
    {
      "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": 2212,
      "end": 2217,
      "loc": {
        "start": {
          "line": 63,
          "column": 6
        },
        "end": {
          "line": 63,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "realMethod",
      "start": 2218,
      "end": 2228,
      "loc": {
        "start": {
          "line": 63,
          "column": 12
        },
        "end": {
          "line": 63,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2229,
      "end": 2230,
      "loc": {
        "start": {
          "line": 63,
          "column": 23
        },
        "end": {
          "line": 63,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "aliases",
      "start": 2231,
      "end": 2238,
      "loc": {
        "start": {
          "line": 63,
          "column": 25
        },
        "end": {
          "line": 63,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2238,
      "end": 2239,
      "loc": {
        "start": {
          "line": 63,
          "column": 32
        },
        "end": {
          "line": 63,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "method",
      "start": 2239,
      "end": 2245,
      "loc": {
        "start": {
          "line": 63,
          "column": 33
        },
        "end": {
          "line": 63,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2245,
      "end": 2246,
      "loc": {
        "start": {
          "line": 63,
          "column": 39
        },
        "end": {
          "line": 63,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 2247,
      "end": 2249,
      "loc": {
        "start": {
          "line": 63,
          "column": 41
        },
        "end": {
          "line": 63,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "method",
      "start": 2250,
      "end": 2256,
      "loc": {
        "start": {
          "line": 63,
          "column": 44
        },
        "end": {
          "line": 63,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2256,
      "end": 2257,
      "loc": {
        "start": {
          "line": 63,
          "column": 50
        },
        "end": {
          "line": 63,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 2265,
      "end": 2268,
      "loc": {
        "start": {
          "line": 65,
          "column": 6
        },
        "end": {
          "line": 65,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2268,
      "end": 2269,
      "loc": {
        "start": {
          "line": 65,
          "column": 9
        },
        "end": {
          "line": 65,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "association",
      "start": 2269,
      "end": 2280,
      "loc": {
        "start": {
          "line": 65,
          "column": 10
        },
        "end": {
          "line": 65,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2280,
      "end": 2281,
      "loc": {
        "start": {
          "line": 65,
          "column": 21
        },
        "end": {
          "line": 65,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "accessors",
      "start": 2281,
      "end": 2290,
      "loc": {
        "start": {
          "line": 65,
          "column": 22
        },
        "end": {
          "line": 65,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2290,
      "end": 2291,
      "loc": {
        "start": {
          "line": 65,
          "column": 31
        },
        "end": {
          "line": 65,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "method",
      "start": 2291,
      "end": 2297,
      "loc": {
        "start": {
          "line": 65,
          "column": 32
        },
        "end": {
          "line": 65,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2297,
      "end": 2298,
      "loc": {
        "start": {
          "line": 65,
          "column": 38
        },
        "end": {
          "line": 65,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2298,
      "end": 2299,
      "loc": {
        "start": {
          "line": 65,
          "column": 39
        },
        "end": {
          "line": 65,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2300,
      "end": 2301,
      "loc": {
        "start": {
          "line": 65,
          "column": 41
        },
        "end": {
          "line": 65,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 2302,
      "end": 2310,
      "loc": {
        "start": {
          "line": 65,
          "column": 43
        },
        "end": {
          "line": 65,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2310,
      "end": 2311,
      "loc": {
        "start": {
          "line": 65,
          "column": 51
        },
        "end": {
          "line": 65,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2311,
      "end": 2312,
      "loc": {
        "start": {
          "line": 65,
          "column": 52
        },
        "end": {
          "line": 65,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2313,
      "end": 2314,
      "loc": {
        "start": {
          "line": 65,
          "column": 54
        },
        "end": {
          "line": 65,
          "column": 55
        }
      }
    },
    {
      "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": 2323,
      "end": 2328,
      "loc": {
        "start": {
          "line": 66,
          "column": 8
        },
        "end": {
          "line": 66,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "instance",
      "start": 2329,
      "end": 2337,
      "loc": {
        "start": {
          "line": 66,
          "column": 14
        },
        "end": {
          "line": 66,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2338,
      "end": 2339,
      "loc": {
        "start": {
          "line": 66,
          "column": 23
        },
        "end": {
          "line": 66,
          "column": 24
        }
      }
    },
    {
      "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": 2340,
      "end": 2344,
      "loc": {
        "start": {
          "line": 66,
          "column": 25
        },
        "end": {
          "line": 66,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2344,
      "end": 2345,
      "loc": {
        "start": {
          "line": 66,
          "column": 29
        },
        "end": {
          "line": 66,
          "column": 30
        }
      }
    },
    {
      "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": 2354,
      "end": 2359,
      "loc": {
        "start": {
          "line": 67,
          "column": 8
        },
        "end": {
          "line": 67,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "args",
      "start": 2360,
      "end": 2364,
      "loc": {
        "start": {
          "line": 67,
          "column": 14
        },
        "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": 2365,
      "end": 2366,
      "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,
        "updateContext": null
      },
      "start": 2367,
      "end": 2368,
      "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": "instance",
      "start": 2368,
      "end": 2376,
      "loc": {
        "start": {
          "line": 67,
          "column": 22
        },
        "end": {
          "line": 67,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2376,
      "end": 2377,
      "loc": {
        "start": {
          "line": 67,
          "column": 30
        },
        "end": {
          "line": 67,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2377,
      "end": 2378,
      "loc": {
        "start": {
          "line": 67,
          "column": 31
        },
        "end": {
          "line": 67,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "concat",
      "start": 2378,
      "end": 2384,
      "loc": {
        "start": {
          "line": 67,
          "column": 32
        },
        "end": {
          "line": 67,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2384,
      "end": 2385,
      "loc": {
        "start": {
          "line": 67,
          "column": 38
        },
        "end": {
          "line": 67,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Array",
      "start": 2385,
      "end": 2390,
      "loc": {
        "start": {
          "line": 67,
          "column": 39
        },
        "end": {
          "line": 67,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2390,
      "end": 2391,
      "loc": {
        "start": {
          "line": 67,
          "column": 44
        },
        "end": {
          "line": 67,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 2391,
      "end": 2395,
      "loc": {
        "start": {
          "line": 67,
          "column": 45
        },
        "end": {
          "line": 67,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2395,
      "end": 2396,
      "loc": {
        "start": {
          "line": 67,
          "column": 49
        },
        "end": {
          "line": 67,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "arguments",
      "start": 2396,
      "end": 2405,
      "loc": {
        "start": {
          "line": 67,
          "column": 50
        },
        "end": {
          "line": 67,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2405,
      "end": 2406,
      "loc": {
        "start": {
          "line": 67,
          "column": 59
        },
        "end": {
          "line": 67,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2406,
      "end": 2407,
      "loc": {
        "start": {
          "line": 67,
          "column": 60
        },
        "end": {
          "line": 67,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2407,
      "end": 2408,
      "loc": {
        "start": {
          "line": 67,
          "column": 61
        },
        "end": {
          "line": 67,
          "column": 62
        }
      }
    },
    {
      "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": 2418,
      "end": 2424,
      "loc": {
        "start": {
          "line": 69,
          "column": 8
        },
        "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": "association",
      "start": 2425,
      "end": 2436,
      "loc": {
        "start": {
          "line": 69,
          "column": 15
        },
        "end": {
          "line": 69,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2436,
      "end": 2437,
      "loc": {
        "start": {
          "line": 69,
          "column": 26
        },
        "end": {
          "line": 69,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "realMethod",
      "start": 2437,
      "end": 2447,
      "loc": {
        "start": {
          "line": 69,
          "column": 27
        },
        "end": {
          "line": 69,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2447,
      "end": 2448,
      "loc": {
        "start": {
          "line": 69,
          "column": 37
        },
        "end": {
          "line": 69,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2448,
      "end": 2449,
      "loc": {
        "start": {
          "line": 69,
          "column": 38
        },
        "end": {
          "line": 69,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "apply",
      "start": 2449,
      "end": 2454,
      "loc": {
        "start": {
          "line": 69,
          "column": 39
        },
        "end": {
          "line": 69,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2454,
      "end": 2455,
      "loc": {
        "start": {
          "line": 69,
          "column": 44
        },
        "end": {
          "line": 69,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "association",
      "start": 2455,
      "end": 2466,
      "loc": {
        "start": {
          "line": 69,
          "column": 45
        },
        "end": {
          "line": 69,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2466,
      "end": 2467,
      "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": "args",
      "start": 2468,
      "end": 2472,
      "loc": {
        "start": {
          "line": 69,
          "column": 58
        },
        "end": {
          "line": 69,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2472,
      "end": 2473,
      "loc": {
        "start": {
          "line": 69,
          "column": 62
        },
        "end": {
          "line": 69,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2473,
      "end": 2474,
      "loc": {
        "start": {
          "line": 69,
          "column": 63
        },
        "end": {
          "line": 69,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2481,
      "end": 2482,
      "loc": {
        "start": {
          "line": 70,
          "column": 6
        },
        "end": {
          "line": 70,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2482,
      "end": 2483,
      "loc": {
        "start": {
          "line": 70,
          "column": 7
        },
        "end": {
          "line": 70,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2488,
      "end": 2489,
      "loc": {
        "start": {
          "line": 71,
          "column": 4
        },
        "end": {
          "line": 71,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2492,
      "end": 2493,
      "loc": {
        "start": {
          "line": 72,
          "column": 2
        },
        "end": {
          "line": 72,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2494,
      "end": 2495,
      "loc": {
        "start": {
          "line": 73,
          "column": 0
        },
        "end": {
          "line": 73,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 2496,
      "end": 2503,
      "loc": {
        "start": {
          "line": 74,
          "column": 0
        },
        "end": {
          "line": 74,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2503,
      "end": 2504,
      "loc": {
        "start": {
          "line": 74,
          "column": 7
        },
        "end": {
          "line": 74,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mixinMethods",
      "start": 2504,
      "end": 2516,
      "loc": {
        "start": {
          "line": 74,
          "column": 8
        },
        "end": {
          "line": 74,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2517,
      "end": 2518,
      "loc": {
        "start": {
          "line": 74,
          "column": 21
        },
        "end": {
          "line": 74,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mixinMethods",
      "start": 2519,
      "end": 2531,
      "loc": {
        "start": {
          "line": 74,
          "column": 23
        },
        "end": {
          "line": 74,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2531,
      "end": 2532,
      "loc": {
        "start": {
          "line": 74,
          "column": 35
        },
        "end": {
          "line": 74,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2533,
      "end": 2533,
      "loc": {
        "start": {
          "line": 75,
          "column": 0
        },
        "end": {
          "line": 75,
          "column": 0
        }
      }
    }
  ]
}