{
  "type": "File",
  "start": 0,
  "end": 1988,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 66,
      "column": 1
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 1988,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 66,
        "column": 1
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 37,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 37
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 7,
            "end": 17,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 17
              }
            },
            "local": {
              "type": "Identifier",
              "start": 7,
              "end": 17,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 7
                },
                "end": {
                  "line": 1,
                  "column": 17
                },
                "identifierName": "HttpClient"
              },
              "name": "HttpClient"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 23,
          "end": 37,
          "loc": {
            "start": {
              "line": 1,
              "column": 23
            },
            "end": {
              "line": 1,
              "column": 37
            }
          },
          "extra": {
            "rawValue": "./HttpClient",
            "raw": "'./HttpClient'"
          },
          "value": "./HttpClient"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 38,
        "end": 81,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 43
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 45,
            "end": 58,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 20
              }
            },
            "local": {
              "type": "Identifier",
              "start": 45,
              "end": 58,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 7
                },
                "end": {
                  "line": 2,
                  "column": 20
                },
                "identifierName": "SearchFetcher"
              },
              "name": "SearchFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 64,
          "end": 81,
          "loc": {
            "start": {
              "line": 2,
              "column": 26
            },
            "end": {
              "line": 2,
              "column": 43
            }
          },
          "extra": {
            "rawValue": "./SearchFetcher",
            "raw": "'./SearchFetcher'"
          },
          "value": "./SearchFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 82,
        "end": 123,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 41
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 89,
            "end": 101,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 19
              }
            },
            "local": {
              "type": "Identifier",
              "start": 89,
              "end": 101,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 7
                },
                "end": {
                  "line": 3,
                  "column": 19
                },
                "identifierName": "TrackFetcher"
              },
              "name": "TrackFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 107,
          "end": 123,
          "loc": {
            "start": {
              "line": 3,
              "column": 25
            },
            "end": {
              "line": 3,
              "column": 41
            }
          },
          "extra": {
            "rawValue": "./TrackFetcher",
            "raw": "'./TrackFetcher'"
          },
          "value": "./TrackFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 124,
        "end": 165,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 41
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 131,
            "end": 143,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 19
              }
            },
            "local": {
              "type": "Identifier",
              "start": 131,
              "end": 143,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 7
                },
                "end": {
                  "line": 4,
                  "column": 19
                },
                "identifierName": "AlbumFetcher"
              },
              "name": "AlbumFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 149,
          "end": 165,
          "loc": {
            "start": {
              "line": 4,
              "column": 25
            },
            "end": {
              "line": 4,
              "column": 41
            }
          },
          "extra": {
            "rawValue": "./AlbumFetcher",
            "raw": "'./AlbumFetcher'"
          },
          "value": "./AlbumFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 166,
        "end": 209,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 5,
            "column": 43
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 173,
            "end": 186,
            "loc": {
              "start": {
                "line": 5,
                "column": 7
              },
              "end": {
                "line": 5,
                "column": 20
              }
            },
            "local": {
              "type": "Identifier",
              "start": 173,
              "end": 186,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 7
                },
                "end": {
                  "line": 5,
                  "column": 20
                },
                "identifierName": "ArtistFetcher"
              },
              "name": "ArtistFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 192,
          "end": 209,
          "loc": {
            "start": {
              "line": 5,
              "column": 26
            },
            "end": {
              "line": 5,
              "column": 43
            }
          },
          "extra": {
            "rawValue": "./ArtistFetcher",
            "raw": "'./ArtistFetcher'"
          },
          "value": "./ArtistFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 210,
        "end": 273,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 6,
            "column": 63
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 217,
            "end": 240,
            "loc": {
              "start": {
                "line": 6,
                "column": 7
              },
              "end": {
                "line": 6,
                "column": 30
              }
            },
            "local": {
              "type": "Identifier",
              "start": 217,
              "end": 240,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 7
                },
                "end": {
                  "line": 6,
                  "column": 30
                },
                "identifierName": "FeaturedPlaylistFetcher"
              },
              "name": "FeaturedPlaylistFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 246,
          "end": 273,
          "loc": {
            "start": {
              "line": 6,
              "column": 36
            },
            "end": {
              "line": 6,
              "column": 63
            }
          },
          "extra": {
            "rawValue": "./FeaturedPlaylistFetcher",
            "raw": "'./FeaturedPlaylistFetcher'"
          },
          "value": "./FeaturedPlaylistFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 274,
        "end": 353,
        "loc": {
          "start": {
            "line": 7,
            "column": 0
          },
          "end": {
            "line": 7,
            "column": 79
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 281,
            "end": 312,
            "loc": {
              "start": {
                "line": 7,
                "column": 7
              },
              "end": {
                "line": 7,
                "column": 38
              }
            },
            "local": {
              "type": "Identifier",
              "start": 281,
              "end": 312,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 7
                },
                "end": {
                  "line": 7,
                  "column": 38
                },
                "identifierName": "FeaturedPlaylistCategoryFetcher"
              },
              "name": "FeaturedPlaylistCategoryFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 318,
          "end": 353,
          "loc": {
            "start": {
              "line": 7,
              "column": 44
            },
            "end": {
              "line": 7,
              "column": 79
            }
          },
          "extra": {
            "rawValue": "./FeaturedPlaylistCategoryFetcher",
            "raw": "'./FeaturedPlaylistCategoryFetcher'"
          },
          "value": "./FeaturedPlaylistCategoryFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 354,
        "end": 409,
        "loc": {
          "start": {
            "line": 8,
            "column": 0
          },
          "end": {
            "line": 8,
            "column": 55
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 361,
            "end": 380,
            "loc": {
              "start": {
                "line": 8,
                "column": 7
              },
              "end": {
                "line": 8,
                "column": 26
              }
            },
            "local": {
              "type": "Identifier",
              "start": 361,
              "end": 380,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 7
                },
                "end": {
                  "line": 8,
                  "column": 26
                },
                "identifierName": "GenreStationFetcher"
              },
              "name": "GenreStationFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 386,
          "end": 409,
          "loc": {
            "start": {
              "line": 8,
              "column": 32
            },
            "end": {
              "line": 8,
              "column": 55
            }
          },
          "extra": {
            "rawValue": "./GenreStationFetcher",
            "raw": "'./GenreStationFetcher'"
          },
          "value": "./GenreStationFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 410,
        "end": 463,
        "loc": {
          "start": {
            "line": 9,
            "column": 0
          },
          "end": {
            "line": 9,
            "column": 53
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 417,
            "end": 435,
            "loc": {
              "start": {
                "line": 9,
                "column": 7
              },
              "end": {
                "line": 9,
                "column": 25
              }
            },
            "local": {
              "type": "Identifier",
              "start": 417,
              "end": 435,
              "loc": {
                "start": {
                  "line": 9,
                  "column": 7
                },
                "end": {
                  "line": 9,
                  "column": 25
                },
                "identifierName": "MoodStationFetcher"
              },
              "name": "MoodStationFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 441,
          "end": 463,
          "loc": {
            "start": {
              "line": 9,
              "column": 31
            },
            "end": {
              "line": 9,
              "column": 53
            }
          },
          "extra": {
            "rawValue": "./MoodStationFetcher",
            "raw": "'./MoodStationFetcher'"
          },
          "value": "./MoodStationFetcher",
          "leadingComments": null,
          "trailingComments": null
        },
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Fetch KKBOX resources.\n ",
            "start": 465,
            "end": 498,
            "loc": {
              "start": {
                "line": 11,
                "column": 0
              },
              "end": {
                "line": 13,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 499,
        "end": 1988,
        "loc": {
          "start": {
            "line": 14,
            "column": 0
          },
          "end": {
            "line": 66,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 514,
          "end": 1988,
          "loc": {
            "start": {
              "line": 14,
              "column": 15
            },
            "end": {
              "line": 66,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 520,
            "end": 523,
            "loc": {
              "start": {
                "line": 14,
                "column": 21
              },
              "end": {
                "line": 14,
                "column": 24
              },
              "identifierName": "Api"
            },
            "name": "Api",
            "leadingComments": null
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 524,
            "end": 1988,
            "loc": {
              "start": {
                "line": 14,
                "column": 25
              },
              "end": {
                "line": 66,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 812,
                "end": 1986,
                "loc": {
                  "start": {
                    "line": 23,
                    "column": 4
                  },
                  "end": {
                    "line": 65,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 812,
                  "end": 823,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 4
                    },
                    "end": {
                      "line": 23,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor",
                  "leadingComments": null
                },
                "static": false,
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 824,
                    "end": 829,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 16
                      },
                      "end": {
                        "line": 23,
                        "column": 21
                      },
                      "identifierName": "token"
                    },
                    "name": "token"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 831,
                    "end": 847,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 23
                      },
                      "end": {
                        "line": 23,
                        "column": 39
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 831,
                      "end": 840,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 23
                        },
                        "end": {
                          "line": 23,
                          "column": 32
                        },
                        "identifierName": "territory"
                      },
                      "name": "territory"
                    },
                    "right": {
                      "type": "StringLiteral",
                      "start": 843,
                      "end": 847,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 35
                        },
                        "end": {
                          "line": 23,
                          "column": 39
                        }
                      },
                      "extra": {
                        "rawValue": "TW",
                        "raw": "'TW'"
                      },
                      "value": "TW"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 849,
                  "end": 1986,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 41
                    },
                    "end": {
                      "line": 65,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 859,
                      "end": 893,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 8
                        },
                        "end": {
                          "line": 24,
                          "column": 42
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 865,
                          "end": 893,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 14
                            },
                            "end": {
                              "line": 24,
                              "column": 42
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 865,
                            "end": 869,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 14
                              },
                              "end": {
                                "line": 24,
                                "column": 18
                              },
                              "identifierName": "http"
                            },
                            "name": "http"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 872,
                            "end": 893,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 21
                              },
                              "end": {
                                "line": 24,
                                "column": 42
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 876,
                              "end": 886,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 25
                                },
                                "end": {
                                  "line": 24,
                                  "column": 35
                                },
                                "identifierName": "HttpClient"
                              },
                              "name": "HttpClient"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 887,
                                "end": 892,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 41
                                  },
                                  "identifierName": "token"
                                },
                                "name": "token"
                              }
                            ],
                            "trailingComments": null
                          },
                          "trailingComments": null
                        }
                      ],
                      "kind": "const",
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {SearchFetcher}\n         ",
                          "start": 903,
                          "end": 951,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 8
                            },
                            "end": {
                              "line": 28,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 960,
                      "end": 1015,
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 8
                        },
                        "end": {
                          "line": 29,
                          "column": 63
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 960,
                        "end": 1015,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 8
                          },
                          "end": {
                            "line": 29,
                            "column": 63
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 960,
                          "end": 978,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 8
                            },
                            "end": {
                              "line": 29,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 960,
                            "end": 964,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 8
                              },
                              "end": {
                                "line": 29,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 965,
                            "end": 978,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 13
                              },
                              "end": {
                                "line": 29,
                                "column": 26
                              },
                              "identifierName": "searchFetcher"
                            },
                            "name": "searchFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 981,
                          "end": 1015,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 29
                            },
                            "end": {
                              "line": 29,
                              "column": 63
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 985,
                            "end": 998,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 33
                              },
                              "end": {
                                "line": 29,
                                "column": 46
                              },
                              "identifierName": "SearchFetcher"
                            },
                            "name": "SearchFetcher"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 999,
                              "end": 1003,
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 47
                                },
                                "end": {
                                  "line": 29,
                                  "column": 51
                                },
                                "identifierName": "http"
                              },
                              "name": "http"
                            },
                            {
                              "type": "Identifier",
                              "start": 1005,
                              "end": 1014,
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 53
                                },
                                "end": {
                                  "line": 29,
                                  "column": 62
                                },
                                "identifierName": "territory"
                              },
                              "name": "territory"
                            }
                          ],
                          "trailingComments": null
                        },
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {SearchFetcher}\n         ",
                          "start": 903,
                          "end": 951,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 8
                            },
                            "end": {
                              "line": 28,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {TrackFetcher}\n         ",
                          "start": 1025,
                          "end": 1072,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1081,
                      "end": 1134,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 8
                        },
                        "end": {
                          "line": 34,
                          "column": 61
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1081,
                        "end": 1134,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 8
                          },
                          "end": {
                            "line": 34,
                            "column": 61
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1081,
                          "end": 1098,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1081,
                            "end": 1085,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 8
                              },
                              "end": {
                                "line": 34,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1086,
                            "end": 1098,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 13
                              },
                              "end": {
                                "line": 34,
                                "column": 25
                              },
                              "identifierName": "trackFetcher"
                            },
                            "name": "trackFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1101,
                          "end": 1134,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 28
                            },
                            "end": {
                              "line": 34,
                              "column": 61
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1105,
                            "end": 1117,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 32
                              },
                              "end": {
                                "line": 34,
                                "column": 44
                              },
                              "identifierName": "TrackFetcher"
                            },
                            "name": "TrackFetcher"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1118,
                              "end": 1122,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 45
                                },
                                "end": {
                                  "line": 34,
                                  "column": 49
                                },
                                "identifierName": "http"
                              },
                              "name": "http"
                            },
                            {
                              "type": "Identifier",
                              "start": 1124,
                              "end": 1133,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 51
                                },
                                "end": {
                                  "line": 34,
                                  "column": 60
                                },
                                "identifierName": "territory"
                              },
                              "name": "territory"
                            }
                          ],
                          "trailingComments": null
                        },
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {TrackFetcher}\n         ",
                          "start": 1025,
                          "end": 1072,
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {AlbumFetcher}\n         ",
                          "start": 1144,
                          "end": 1191,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 8
                            },
                            "end": {
                              "line": 38,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1200,
                      "end": 1253,
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 8
                        },
                        "end": {
                          "line": 39,
                          "column": 61
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1200,
                        "end": 1253,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 8
                          },
                          "end": {
                            "line": 39,
                            "column": 61
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1200,
                          "end": 1217,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 8
                            },
                            "end": {
                              "line": 39,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1200,
                            "end": 1204,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 8
                              },
                              "end": {
                                "line": 39,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1205,
                            "end": 1217,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 13
                              },
                              "end": {
                                "line": 39,
                                "column": 25
                              },
                              "identifierName": "albumFetcher"
                            },
                            "name": "albumFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1220,
                          "end": 1253,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 28
                            },
                            "end": {
                              "line": 39,
                              "column": 61
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1224,
                            "end": 1236,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 32
                              },
                              "end": {
                                "line": 39,
                                "column": 44
                              },
                              "identifierName": "AlbumFetcher"
                            },
                            "name": "AlbumFetcher"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1237,
                              "end": 1241,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 45
                                },
                                "end": {
                                  "line": 39,
                                  "column": 49
                                },
                                "identifierName": "http"
                              },
                              "name": "http"
                            },
                            {
                              "type": "Identifier",
                              "start": 1243,
                              "end": 1252,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 51
                                },
                                "end": {
                                  "line": 39,
                                  "column": 60
                                },
                                "identifierName": "territory"
                              },
                              "name": "territory"
                            }
                          ],
                          "trailingComments": null
                        },
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {AlbumFetcher}\n         ",
                          "start": 1144,
                          "end": 1191,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 8
                            },
                            "end": {
                              "line": 38,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {ArtistFetcher}\n         ",
                          "start": 1263,
                          "end": 1311,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 43,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1320,
                      "end": 1375,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 8
                        },
                        "end": {
                          "line": 44,
                          "column": 63
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1320,
                        "end": 1375,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 8
                          },
                          "end": {
                            "line": 44,
                            "column": 63
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1320,
                          "end": 1338,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 8
                            },
                            "end": {
                              "line": 44,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1320,
                            "end": 1324,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 8
                              },
                              "end": {
                                "line": 44,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1325,
                            "end": 1338,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 13
                              },
                              "end": {
                                "line": 44,
                                "column": 26
                              },
                              "identifierName": "artistFetcher"
                            },
                            "name": "artistFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1341,
                          "end": 1375,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 29
                            },
                            "end": {
                              "line": 44,
                              "column": 63
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1345,
                            "end": 1358,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 33
                              },
                              "end": {
                                "line": 44,
                                "column": 46
                              },
                              "identifierName": "ArtistFetcher"
                            },
                            "name": "ArtistFetcher"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1359,
                              "end": 1363,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 47
                                },
                                "end": {
                                  "line": 44,
                                  "column": 51
                                },
                                "identifierName": "http"
                              },
                              "name": "http"
                            },
                            {
                              "type": "Identifier",
                              "start": 1365,
                              "end": 1374,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 53
                                },
                                "end": {
                                  "line": 44,
                                  "column": 62
                                },
                                "identifierName": "territory"
                              },
                              "name": "territory"
                            }
                          ],
                          "trailingComments": null
                        },
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {ArtistFetcher}\n         ",
                          "start": 1263,
                          "end": 1311,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 43,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {FeaturedPlaylistFetcher}\n         ",
                          "start": 1385,
                          "end": 1443,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 48,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1452,
                      "end": 1527,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 8
                        },
                        "end": {
                          "line": 49,
                          "column": 83
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1452,
                        "end": 1527,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 8
                          },
                          "end": {
                            "line": 49,
                            "column": 83
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1452,
                          "end": 1480,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 8
                            },
                            "end": {
                              "line": 49,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1452,
                            "end": 1456,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 8
                              },
                              "end": {
                                "line": 49,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1457,
                            "end": 1480,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 13
                              },
                              "end": {
                                "line": 49,
                                "column": 36
                              },
                              "identifierName": "featuredPlaylistFetcher"
                            },
                            "name": "featuredPlaylistFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1483,
                          "end": 1527,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 39
                            },
                            "end": {
                              "line": 49,
                              "column": 83
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1487,
                            "end": 1510,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 43
                              },
                              "end": {
                                "line": 49,
                                "column": 66
                              },
                              "identifierName": "FeaturedPlaylistFetcher"
                            },
                            "name": "FeaturedPlaylistFetcher"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1511,
                              "end": 1515,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 67
                                },
                                "end": {
                                  "line": 49,
                                  "column": 71
                                },
                                "identifierName": "http"
                              },
                              "name": "http"
                            },
                            {
                              "type": "Identifier",
                              "start": 1517,
                              "end": 1526,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 73
                                },
                                "end": {
                                  "line": 49,
                                  "column": 82
                                },
                                "identifierName": "territory"
                              },
                              "name": "territory"
                            }
                          ],
                          "trailingComments": null
                        },
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {FeaturedPlaylistFetcher}\n         ",
                          "start": 1385,
                          "end": 1443,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 48,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {FeaturedPlaylistCategoryFetcher}\n         ",
                          "start": 1537,
                          "end": 1603,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 53,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1612,
                      "end": 1703,
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 8
                        },
                        "end": {
                          "line": 54,
                          "column": 99
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1612,
                        "end": 1703,
                        "loc": {
                          "start": {
                            "line": 54,
                            "column": 8
                          },
                          "end": {
                            "line": 54,
                            "column": 99
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1612,
                          "end": 1648,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 8
                            },
                            "end": {
                              "line": 54,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1612,
                            "end": 1616,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 8
                              },
                              "end": {
                                "line": 54,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1617,
                            "end": 1648,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 13
                              },
                              "end": {
                                "line": 54,
                                "column": 44
                              },
                              "identifierName": "featuredPlaylistCategoryFetcher"
                            },
                            "name": "featuredPlaylistCategoryFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1651,
                          "end": 1703,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 47
                            },
                            "end": {
                              "line": 54,
                              "column": 99
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1655,
                            "end": 1686,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 51
                              },
                              "end": {
                                "line": 54,
                                "column": 82
                              },
                              "identifierName": "FeaturedPlaylistCategoryFetcher"
                            },
                            "name": "FeaturedPlaylistCategoryFetcher"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1687,
                              "end": 1691,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 83
                                },
                                "end": {
                                  "line": 54,
                                  "column": 87
                                },
                                "identifierName": "http"
                              },
                              "name": "http"
                            },
                            {
                              "type": "Identifier",
                              "start": 1693,
                              "end": 1702,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 89
                                },
                                "end": {
                                  "line": 54,
                                  "column": 98
                                },
                                "identifierName": "territory"
                              },
                              "name": "territory"
                            }
                          ],
                          "trailingComments": null
                        },
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {FeaturedPlaylistCategoryFetcher}\n         ",
                          "start": 1537,
                          "end": 1603,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 53,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {GenreStationFetcher}\n         ",
                          "start": 1713,
                          "end": 1767,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 8
                            },
                            "end": {
                              "line": 58,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1776,
                      "end": 1843,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 8
                        },
                        "end": {
                          "line": 59,
                          "column": 75
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1776,
                        "end": 1843,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 8
                          },
                          "end": {
                            "line": 59,
                            "column": 75
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1776,
                          "end": 1800,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 8
                            },
                            "end": {
                              "line": 59,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1776,
                            "end": 1780,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 8
                              },
                              "end": {
                                "line": 59,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1781,
                            "end": 1800,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 13
                              },
                              "end": {
                                "line": 59,
                                "column": 32
                              },
                              "identifierName": "genreStationFetcher"
                            },
                            "name": "genreStationFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1803,
                          "end": 1843,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 35
                            },
                            "end": {
                              "line": 59,
                              "column": 75
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1807,
                            "end": 1826,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 39
                              },
                              "end": {
                                "line": 59,
                                "column": 58
                              },
                              "identifierName": "GenreStationFetcher"
                            },
                            "name": "GenreStationFetcher"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1827,
                              "end": 1831,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 59
                                },
                                "end": {
                                  "line": 59,
                                  "column": 63
                                },
                                "identifierName": "http"
                              },
                              "name": "http"
                            },
                            {
                              "type": "Identifier",
                              "start": 1833,
                              "end": 1842,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 65
                                },
                                "end": {
                                  "line": 59,
                                  "column": 74
                                },
                                "identifierName": "territory"
                              },
                              "name": "territory"
                            }
                          ],
                          "trailingComments": null
                        },
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {GenreStationFetcher}\n         ",
                          "start": 1713,
                          "end": 1767,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 8
                            },
                            "end": {
                              "line": 58,
                              "column": 11
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {MoodStationFetcher}\n         ",
                          "start": 1853,
                          "end": 1906,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 8
                            },
                            "end": {
                              "line": 63,
                              "column": 11
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1915,
                      "end": 1980,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 8
                        },
                        "end": {
                          "line": 64,
                          "column": 73
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1915,
                        "end": 1980,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 8
                          },
                          "end": {
                            "line": 64,
                            "column": 73
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1915,
                          "end": 1938,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 8
                            },
                            "end": {
                              "line": 64,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1915,
                            "end": 1919,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 8
                              },
                              "end": {
                                "line": 64,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1920,
                            "end": 1938,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 13
                              },
                              "end": {
                                "line": 64,
                                "column": 31
                              },
                              "identifierName": "moodStationFetcher"
                            },
                            "name": "moodStationFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1941,
                          "end": 1980,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 34
                            },
                            "end": {
                              "line": 64,
                              "column": 73
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1945,
                            "end": 1963,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 38
                              },
                              "end": {
                                "line": 64,
                                "column": 56
                              },
                              "identifierName": "MoodStationFetcher"
                            },
                            "name": "MoodStationFetcher"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1964,
                              "end": 1968,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 57
                                },
                                "end": {
                                  "line": 64,
                                  "column": 61
                                },
                                "identifierName": "http"
                              },
                              "name": "http"
                            },
                            {
                              "type": "Identifier",
                              "start": 1970,
                              "end": 1979,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 63
                                },
                                "end": {
                                  "line": 64,
                                  "column": 72
                                },
                                "identifierName": "territory"
                              },
                              "name": "territory"
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n         * @type {MoodStationFetcher}\n         ",
                          "start": 1853,
                          "end": 1906,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 8
                            },
                            "end": {
                              "line": 63,
                              "column": 11
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n     * Need access token to initialize.\n     *\n     * @param {string} token - Get via Auth.\n     * @param {string} [territory = 'TW'] - ['TW', 'HK', 'SG', 'MY', 'JP'] The territory for the fetcher.\n     * @example new Api(token)\n     * @example new Api(token, 'TW')\n     ",
                    "start": 530,
                    "end": 807,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 4
                      },
                      "end": {
                        "line": 22,
                        "column": 7
                      }
                    }
                  }
                ]
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\n * Fetch KKBOX resources.\n ",
              "start": 465,
              "end": 498,
              "loc": {
                "start": {
                  "line": 11,
                  "column": 0
                },
                "end": {
                  "line": 13,
                  "column": 3
                }
              }
            }
          ],
          "trailingComments": []
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Fetch KKBOX resources.\n ",
            "start": 465,
            "end": 498,
            "loc": {
              "start": {
                "line": 11,
                "column": 0
              },
              "end": {
                "line": 13,
                "column": 3
              }
            }
          }
        ]
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\n * Fetch KKBOX resources.\n ",
      "start": 465,
      "end": 498,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 13,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Need access token to initialize.\n     *\n     * @param {string} token - Get via Auth.\n     * @param {string} [territory = 'TW'] - ['TW', 'HK', 'SG', 'MY', 'JP'] The territory for the fetcher.\n     * @example new Api(token)\n     * @example new Api(token, 'TW')\n     ",
      "start": 530,
      "end": 807,
      "loc": {
        "start": {
          "line": 15,
          "column": 4
        },
        "end": {
          "line": 22,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {SearchFetcher}\n         ",
      "start": 903,
      "end": 951,
      "loc": {
        "start": {
          "line": 26,
          "column": 8
        },
        "end": {
          "line": 28,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {TrackFetcher}\n         ",
      "start": 1025,
      "end": 1072,
      "loc": {
        "start": {
          "line": 31,
          "column": 8
        },
        "end": {
          "line": 33,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {AlbumFetcher}\n         ",
      "start": 1144,
      "end": 1191,
      "loc": {
        "start": {
          "line": 36,
          "column": 8
        },
        "end": {
          "line": 38,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {ArtistFetcher}\n         ",
      "start": 1263,
      "end": 1311,
      "loc": {
        "start": {
          "line": 41,
          "column": 8
        },
        "end": {
          "line": 43,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {FeaturedPlaylistFetcher}\n         ",
      "start": 1385,
      "end": 1443,
      "loc": {
        "start": {
          "line": 46,
          "column": 8
        },
        "end": {
          "line": 48,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {FeaturedPlaylistCategoryFetcher}\n         ",
      "start": 1537,
      "end": 1603,
      "loc": {
        "start": {
          "line": 51,
          "column": 8
        },
        "end": {
          "line": 53,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {GenreStationFetcher}\n         ",
      "start": 1713,
      "end": 1767,
      "loc": {
        "start": {
          "line": 56,
          "column": 8
        },
        "end": {
          "line": 58,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {MoodStationFetcher}\n         ",
      "start": 1853,
      "end": 1906,
      "loc": {
        "start": {
          "line": 61,
          "column": 8
        },
        "end": {
          "line": 63,
          "column": 11
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 0,
      "end": 6,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "HttpClient",
      "start": 7,
      "end": 17,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 18,
      "end": 22,
      "loc": {
        "start": {
          "line": 1,
          "column": 18
        },
        "end": {
          "line": 1,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./HttpClient",
      "start": 23,
      "end": 37,
      "loc": {
        "start": {
          "line": 1,
          "column": 23
        },
        "end": {
          "line": 1,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 38,
      "end": 44,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SearchFetcher",
      "start": 45,
      "end": 58,
      "loc": {
        "start": {
          "line": 2,
          "column": 7
        },
        "end": {
          "line": 2,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 59,
      "end": 63,
      "loc": {
        "start": {
          "line": 2,
          "column": 21
        },
        "end": {
          "line": 2,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./SearchFetcher",
      "start": 64,
      "end": 81,
      "loc": {
        "start": {
          "line": 2,
          "column": 26
        },
        "end": {
          "line": 2,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 82,
      "end": 88,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TrackFetcher",
      "start": 89,
      "end": 101,
      "loc": {
        "start": {
          "line": 3,
          "column": 7
        },
        "end": {
          "line": 3,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 102,
      "end": 106,
      "loc": {
        "start": {
          "line": 3,
          "column": 20
        },
        "end": {
          "line": 3,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./TrackFetcher",
      "start": 107,
      "end": 123,
      "loc": {
        "start": {
          "line": 3,
          "column": 25
        },
        "end": {
          "line": 3,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 124,
      "end": 130,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AlbumFetcher",
      "start": 131,
      "end": 143,
      "loc": {
        "start": {
          "line": 4,
          "column": 7
        },
        "end": {
          "line": 4,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 144,
      "end": 148,
      "loc": {
        "start": {
          "line": 4,
          "column": 20
        },
        "end": {
          "line": 4,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./AlbumFetcher",
      "start": 149,
      "end": 165,
      "loc": {
        "start": {
          "line": 4,
          "column": 25
        },
        "end": {
          "line": 4,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 166,
      "end": 172,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ArtistFetcher",
      "start": 173,
      "end": 186,
      "loc": {
        "start": {
          "line": 5,
          "column": 7
        },
        "end": {
          "line": 5,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 187,
      "end": 191,
      "loc": {
        "start": {
          "line": 5,
          "column": 21
        },
        "end": {
          "line": 5,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./ArtistFetcher",
      "start": 192,
      "end": 209,
      "loc": {
        "start": {
          "line": 5,
          "column": 26
        },
        "end": {
          "line": 5,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 210,
      "end": 216,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "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": "FeaturedPlaylistFetcher",
      "start": 217,
      "end": 240,
      "loc": {
        "start": {
          "line": 6,
          "column": 7
        },
        "end": {
          "line": 6,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 241,
      "end": 245,
      "loc": {
        "start": {
          "line": 6,
          "column": 31
        },
        "end": {
          "line": 6,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./FeaturedPlaylistFetcher",
      "start": 246,
      "end": 273,
      "loc": {
        "start": {
          "line": 6,
          "column": 36
        },
        "end": {
          "line": 6,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 274,
      "end": 280,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "FeaturedPlaylistCategoryFetcher",
      "start": 281,
      "end": 312,
      "loc": {
        "start": {
          "line": 7,
          "column": 7
        },
        "end": {
          "line": 7,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 313,
      "end": 317,
      "loc": {
        "start": {
          "line": 7,
          "column": 39
        },
        "end": {
          "line": 7,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./FeaturedPlaylistCategoryFetcher",
      "start": 318,
      "end": 353,
      "loc": {
        "start": {
          "line": 7,
          "column": 44
        },
        "end": {
          "line": 7,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 354,
      "end": 360,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "GenreStationFetcher",
      "start": 361,
      "end": 380,
      "loc": {
        "start": {
          "line": 8,
          "column": 7
        },
        "end": {
          "line": 8,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 381,
      "end": 385,
      "loc": {
        "start": {
          "line": 8,
          "column": 27
        },
        "end": {
          "line": 8,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./GenreStationFetcher",
      "start": 386,
      "end": 409,
      "loc": {
        "start": {
          "line": 8,
          "column": 32
        },
        "end": {
          "line": 8,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 410,
      "end": 416,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "MoodStationFetcher",
      "start": 417,
      "end": 435,
      "loc": {
        "start": {
          "line": 9,
          "column": 7
        },
        "end": {
          "line": 9,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 436,
      "end": 440,
      "loc": {
        "start": {
          "line": 9,
          "column": 26
        },
        "end": {
          "line": 9,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./MoodStationFetcher",
      "start": 441,
      "end": 463,
      "loc": {
        "start": {
          "line": 9,
          "column": 31
        },
        "end": {
          "line": 9,
          "column": 53
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * Fetch KKBOX resources.\n ",
      "start": 465,
      "end": 498,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 13,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 499,
      "end": 505,
      "loc": {
        "start": {
          "line": 14,
          "column": 0
        },
        "end": {
          "line": 14,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 506,
      "end": 513,
      "loc": {
        "start": {
          "line": 14,
          "column": 7
        },
        "end": {
          "line": 14,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 514,
      "end": 519,
      "loc": {
        "start": {
          "line": 14,
          "column": 15
        },
        "end": {
          "line": 14,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Api",
      "start": 520,
      "end": 523,
      "loc": {
        "start": {
          "line": 14,
          "column": 21
        },
        "end": {
          "line": 14,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 524,
      "end": 525,
      "loc": {
        "start": {
          "line": 14,
          "column": 25
        },
        "end": {
          "line": 14,
          "column": 26
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * Need access token to initialize.\n     *\n     * @param {string} token - Get via Auth.\n     * @param {string} [territory = 'TW'] - ['TW', 'HK', 'SG', 'MY', 'JP'] The territory for the fetcher.\n     * @example new Api(token)\n     * @example new Api(token, 'TW')\n     ",
      "start": 530,
      "end": 807,
      "loc": {
        "start": {
          "line": 15,
          "column": 4
        },
        "end": {
          "line": 22,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 812,
      "end": 823,
      "loc": {
        "start": {
          "line": 23,
          "column": 4
        },
        "end": {
          "line": 23,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 823,
      "end": 824,
      "loc": {
        "start": {
          "line": 23,
          "column": 15
        },
        "end": {
          "line": 23,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "token",
      "start": 824,
      "end": 829,
      "loc": {
        "start": {
          "line": 23,
          "column": 16
        },
        "end": {
          "line": 23,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 829,
      "end": 830,
      "loc": {
        "start": {
          "line": 23,
          "column": 21
        },
        "end": {
          "line": 23,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 831,
      "end": 840,
      "loc": {
        "start": {
          "line": 23,
          "column": 23
        },
        "end": {
          "line": 23,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 841,
      "end": 842,
      "loc": {
        "start": {
          "line": 23,
          "column": 33
        },
        "end": {
          "line": 23,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "TW",
      "start": 843,
      "end": 847,
      "loc": {
        "start": {
          "line": 23,
          "column": 35
        },
        "end": {
          "line": 23,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 847,
      "end": 848,
      "loc": {
        "start": {
          "line": 23,
          "column": 39
        },
        "end": {
          "line": 23,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 849,
      "end": 850,
      "loc": {
        "start": {
          "line": 23,
          "column": 41
        },
        "end": {
          "line": 23,
          "column": 42
        }
      }
    },
    {
      "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": 859,
      "end": 864,
      "loc": {
        "start": {
          "line": 24,
          "column": 8
        },
        "end": {
          "line": 24,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "http",
      "start": 865,
      "end": 869,
      "loc": {
        "start": {
          "line": 24,
          "column": 14
        },
        "end": {
          "line": 24,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 870,
      "end": 871,
      "loc": {
        "start": {
          "line": 24,
          "column": 19
        },
        "end": {
          "line": 24,
          "column": 20
        }
      }
    },
    {
      "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": 872,
      "end": 875,
      "loc": {
        "start": {
          "line": 24,
          "column": 21
        },
        "end": {
          "line": 24,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "HttpClient",
      "start": 876,
      "end": 886,
      "loc": {
        "start": {
          "line": 24,
          "column": 25
        },
        "end": {
          "line": 24,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 886,
      "end": 887,
      "loc": {
        "start": {
          "line": 24,
          "column": 35
        },
        "end": {
          "line": 24,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "token",
      "start": 887,
      "end": 892,
      "loc": {
        "start": {
          "line": 24,
          "column": 36
        },
        "end": {
          "line": 24,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 892,
      "end": 893,
      "loc": {
        "start": {
          "line": 24,
          "column": 41
        },
        "end": {
          "line": 24,
          "column": 42
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {SearchFetcher}\n         ",
      "start": 903,
      "end": 951,
      "loc": {
        "start": {
          "line": 26,
          "column": 8
        },
        "end": {
          "line": 28,
          "column": 11
        }
      }
    },
    {
      "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": 960,
      "end": 964,
      "loc": {
        "start": {
          "line": 29,
          "column": 8
        },
        "end": {
          "line": 29,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 964,
      "end": 965,
      "loc": {
        "start": {
          "line": 29,
          "column": 12
        },
        "end": {
          "line": 29,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "searchFetcher",
      "start": 965,
      "end": 978,
      "loc": {
        "start": {
          "line": 29,
          "column": 13
        },
        "end": {
          "line": 29,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 979,
      "end": 980,
      "loc": {
        "start": {
          "line": 29,
          "column": 27
        },
        "end": {
          "line": 29,
          "column": 28
        }
      }
    },
    {
      "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": 981,
      "end": 984,
      "loc": {
        "start": {
          "line": 29,
          "column": 29
        },
        "end": {
          "line": 29,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SearchFetcher",
      "start": 985,
      "end": 998,
      "loc": {
        "start": {
          "line": 29,
          "column": 33
        },
        "end": {
          "line": 29,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 998,
      "end": 999,
      "loc": {
        "start": {
          "line": 29,
          "column": 46
        },
        "end": {
          "line": 29,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "http",
      "start": 999,
      "end": 1003,
      "loc": {
        "start": {
          "line": 29,
          "column": 47
        },
        "end": {
          "line": 29,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1003,
      "end": 1004,
      "loc": {
        "start": {
          "line": 29,
          "column": 51
        },
        "end": {
          "line": 29,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 1005,
      "end": 1014,
      "loc": {
        "start": {
          "line": 29,
          "column": 53
        },
        "end": {
          "line": 29,
          "column": 62
        }
      }
    },
    {
      "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": 29,
          "column": 62
        },
        "end": {
          "line": 29,
          "column": 63
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {TrackFetcher}\n         ",
      "start": 1025,
      "end": 1072,
      "loc": {
        "start": {
          "line": 31,
          "column": 8
        },
        "end": {
          "line": 33,
          "column": 11
        }
      }
    },
    {
      "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": 1081,
      "end": 1085,
      "loc": {
        "start": {
          "line": 34,
          "column": 8
        },
        "end": {
          "line": 34,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1085,
      "end": 1086,
      "loc": {
        "start": {
          "line": 34,
          "column": 12
        },
        "end": {
          "line": 34,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "trackFetcher",
      "start": 1086,
      "end": 1098,
      "loc": {
        "start": {
          "line": 34,
          "column": 13
        },
        "end": {
          "line": 34,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1099,
      "end": 1100,
      "loc": {
        "start": {
          "line": 34,
          "column": 26
        },
        "end": {
          "line": 34,
          "column": 27
        }
      }
    },
    {
      "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": 1101,
      "end": 1104,
      "loc": {
        "start": {
          "line": 34,
          "column": 28
        },
        "end": {
          "line": 34,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TrackFetcher",
      "start": 1105,
      "end": 1117,
      "loc": {
        "start": {
          "line": 34,
          "column": 32
        },
        "end": {
          "line": 34,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1117,
      "end": 1118,
      "loc": {
        "start": {
          "line": 34,
          "column": 44
        },
        "end": {
          "line": 34,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "http",
      "start": 1118,
      "end": 1122,
      "loc": {
        "start": {
          "line": 34,
          "column": 45
        },
        "end": {
          "line": 34,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1122,
      "end": 1123,
      "loc": {
        "start": {
          "line": 34,
          "column": 49
        },
        "end": {
          "line": 34,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 1124,
      "end": 1133,
      "loc": {
        "start": {
          "line": 34,
          "column": 51
        },
        "end": {
          "line": 34,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1133,
      "end": 1134,
      "loc": {
        "start": {
          "line": 34,
          "column": 60
        },
        "end": {
          "line": 34,
          "column": 61
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {AlbumFetcher}\n         ",
      "start": 1144,
      "end": 1191,
      "loc": {
        "start": {
          "line": 36,
          "column": 8
        },
        "end": {
          "line": 38,
          "column": 11
        }
      }
    },
    {
      "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": 1200,
      "end": 1204,
      "loc": {
        "start": {
          "line": 39,
          "column": 8
        },
        "end": {
          "line": 39,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1204,
      "end": 1205,
      "loc": {
        "start": {
          "line": 39,
          "column": 12
        },
        "end": {
          "line": 39,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "albumFetcher",
      "start": 1205,
      "end": 1217,
      "loc": {
        "start": {
          "line": 39,
          "column": 13
        },
        "end": {
          "line": 39,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1218,
      "end": 1219,
      "loc": {
        "start": {
          "line": 39,
          "column": 26
        },
        "end": {
          "line": 39,
          "column": 27
        }
      }
    },
    {
      "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": 1220,
      "end": 1223,
      "loc": {
        "start": {
          "line": 39,
          "column": 28
        },
        "end": {
          "line": 39,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AlbumFetcher",
      "start": 1224,
      "end": 1236,
      "loc": {
        "start": {
          "line": 39,
          "column": 32
        },
        "end": {
          "line": 39,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1236,
      "end": 1237,
      "loc": {
        "start": {
          "line": 39,
          "column": 44
        },
        "end": {
          "line": 39,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "http",
      "start": 1237,
      "end": 1241,
      "loc": {
        "start": {
          "line": 39,
          "column": 45
        },
        "end": {
          "line": 39,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1241,
      "end": 1242,
      "loc": {
        "start": {
          "line": 39,
          "column": 49
        },
        "end": {
          "line": 39,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 1243,
      "end": 1252,
      "loc": {
        "start": {
          "line": 39,
          "column": 51
        },
        "end": {
          "line": 39,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1252,
      "end": 1253,
      "loc": {
        "start": {
          "line": 39,
          "column": 60
        },
        "end": {
          "line": 39,
          "column": 61
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {ArtistFetcher}\n         ",
      "start": 1263,
      "end": 1311,
      "loc": {
        "start": {
          "line": 41,
          "column": 8
        },
        "end": {
          "line": 43,
          "column": 11
        }
      }
    },
    {
      "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": 1320,
      "end": 1324,
      "loc": {
        "start": {
          "line": 44,
          "column": 8
        },
        "end": {
          "line": 44,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1324,
      "end": 1325,
      "loc": {
        "start": {
          "line": 44,
          "column": 12
        },
        "end": {
          "line": 44,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "artistFetcher",
      "start": 1325,
      "end": 1338,
      "loc": {
        "start": {
          "line": 44,
          "column": 13
        },
        "end": {
          "line": 44,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1339,
      "end": 1340,
      "loc": {
        "start": {
          "line": 44,
          "column": 27
        },
        "end": {
          "line": 44,
          "column": 28
        }
      }
    },
    {
      "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": 1341,
      "end": 1344,
      "loc": {
        "start": {
          "line": 44,
          "column": 29
        },
        "end": {
          "line": 44,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ArtistFetcher",
      "start": 1345,
      "end": 1358,
      "loc": {
        "start": {
          "line": 44,
          "column": 33
        },
        "end": {
          "line": 44,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1358,
      "end": 1359,
      "loc": {
        "start": {
          "line": 44,
          "column": 46
        },
        "end": {
          "line": 44,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "http",
      "start": 1359,
      "end": 1363,
      "loc": {
        "start": {
          "line": 44,
          "column": 47
        },
        "end": {
          "line": 44,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1363,
      "end": 1364,
      "loc": {
        "start": {
          "line": 44,
          "column": 51
        },
        "end": {
          "line": 44,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 1365,
      "end": 1374,
      "loc": {
        "start": {
          "line": 44,
          "column": 53
        },
        "end": {
          "line": 44,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1374,
      "end": 1375,
      "loc": {
        "start": {
          "line": 44,
          "column": 62
        },
        "end": {
          "line": 44,
          "column": 63
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {FeaturedPlaylistFetcher}\n         ",
      "start": 1385,
      "end": 1443,
      "loc": {
        "start": {
          "line": 46,
          "column": 8
        },
        "end": {
          "line": 48,
          "column": 11
        }
      }
    },
    {
      "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": 1452,
      "end": 1456,
      "loc": {
        "start": {
          "line": 49,
          "column": 8
        },
        "end": {
          "line": 49,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1456,
      "end": 1457,
      "loc": {
        "start": {
          "line": 49,
          "column": 12
        },
        "end": {
          "line": 49,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "featuredPlaylistFetcher",
      "start": 1457,
      "end": 1480,
      "loc": {
        "start": {
          "line": 49,
          "column": 13
        },
        "end": {
          "line": 49,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1481,
      "end": 1482,
      "loc": {
        "start": {
          "line": 49,
          "column": 37
        },
        "end": {
          "line": 49,
          "column": 38
        }
      }
    },
    {
      "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": 1483,
      "end": 1486,
      "loc": {
        "start": {
          "line": 49,
          "column": 39
        },
        "end": {
          "line": 49,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "FeaturedPlaylistFetcher",
      "start": 1487,
      "end": 1510,
      "loc": {
        "start": {
          "line": 49,
          "column": 43
        },
        "end": {
          "line": 49,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1510,
      "end": 1511,
      "loc": {
        "start": {
          "line": 49,
          "column": 66
        },
        "end": {
          "line": 49,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "http",
      "start": 1511,
      "end": 1515,
      "loc": {
        "start": {
          "line": 49,
          "column": 67
        },
        "end": {
          "line": 49,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1515,
      "end": 1516,
      "loc": {
        "start": {
          "line": 49,
          "column": 71
        },
        "end": {
          "line": 49,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 1517,
      "end": 1526,
      "loc": {
        "start": {
          "line": 49,
          "column": 73
        },
        "end": {
          "line": 49,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1526,
      "end": 1527,
      "loc": {
        "start": {
          "line": 49,
          "column": 82
        },
        "end": {
          "line": 49,
          "column": 83
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {FeaturedPlaylistCategoryFetcher}\n         ",
      "start": 1537,
      "end": 1603,
      "loc": {
        "start": {
          "line": 51,
          "column": 8
        },
        "end": {
          "line": 53,
          "column": 11
        }
      }
    },
    {
      "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": 1612,
      "end": 1616,
      "loc": {
        "start": {
          "line": 54,
          "column": 8
        },
        "end": {
          "line": 54,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1616,
      "end": 1617,
      "loc": {
        "start": {
          "line": 54,
          "column": 12
        },
        "end": {
          "line": 54,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "featuredPlaylistCategoryFetcher",
      "start": 1617,
      "end": 1648,
      "loc": {
        "start": {
          "line": 54,
          "column": 13
        },
        "end": {
          "line": 54,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1649,
      "end": 1650,
      "loc": {
        "start": {
          "line": 54,
          "column": 45
        },
        "end": {
          "line": 54,
          "column": 46
        }
      }
    },
    {
      "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": 1651,
      "end": 1654,
      "loc": {
        "start": {
          "line": 54,
          "column": 47
        },
        "end": {
          "line": 54,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "FeaturedPlaylistCategoryFetcher",
      "start": 1655,
      "end": 1686,
      "loc": {
        "start": {
          "line": 54,
          "column": 51
        },
        "end": {
          "line": 54,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1686,
      "end": 1687,
      "loc": {
        "start": {
          "line": 54,
          "column": 82
        },
        "end": {
          "line": 54,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "http",
      "start": 1687,
      "end": 1691,
      "loc": {
        "start": {
          "line": 54,
          "column": 83
        },
        "end": {
          "line": 54,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1691,
      "end": 1692,
      "loc": {
        "start": {
          "line": 54,
          "column": 87
        },
        "end": {
          "line": 54,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 1693,
      "end": 1702,
      "loc": {
        "start": {
          "line": 54,
          "column": 89
        },
        "end": {
          "line": 54,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1702,
      "end": 1703,
      "loc": {
        "start": {
          "line": 54,
          "column": 98
        },
        "end": {
          "line": 54,
          "column": 99
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {GenreStationFetcher}\n         ",
      "start": 1713,
      "end": 1767,
      "loc": {
        "start": {
          "line": 56,
          "column": 8
        },
        "end": {
          "line": 58,
          "column": 11
        }
      }
    },
    {
      "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": 1776,
      "end": 1780,
      "loc": {
        "start": {
          "line": 59,
          "column": 8
        },
        "end": {
          "line": 59,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1780,
      "end": 1781,
      "loc": {
        "start": {
          "line": 59,
          "column": 12
        },
        "end": {
          "line": 59,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "genreStationFetcher",
      "start": 1781,
      "end": 1800,
      "loc": {
        "start": {
          "line": 59,
          "column": 13
        },
        "end": {
          "line": 59,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1801,
      "end": 1802,
      "loc": {
        "start": {
          "line": 59,
          "column": 33
        },
        "end": {
          "line": 59,
          "column": 34
        }
      }
    },
    {
      "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": 1803,
      "end": 1806,
      "loc": {
        "start": {
          "line": 59,
          "column": 35
        },
        "end": {
          "line": 59,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "GenreStationFetcher",
      "start": 1807,
      "end": 1826,
      "loc": {
        "start": {
          "line": 59,
          "column": 39
        },
        "end": {
          "line": 59,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1826,
      "end": 1827,
      "loc": {
        "start": {
          "line": 59,
          "column": 58
        },
        "end": {
          "line": 59,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "http",
      "start": 1827,
      "end": 1831,
      "loc": {
        "start": {
          "line": 59,
          "column": 59
        },
        "end": {
          "line": 59,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1831,
      "end": 1832,
      "loc": {
        "start": {
          "line": 59,
          "column": 63
        },
        "end": {
          "line": 59,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 1833,
      "end": 1842,
      "loc": {
        "start": {
          "line": 59,
          "column": 65
        },
        "end": {
          "line": 59,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1842,
      "end": 1843,
      "loc": {
        "start": {
          "line": 59,
          "column": 74
        },
        "end": {
          "line": 59,
          "column": 75
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n         * @type {MoodStationFetcher}\n         ",
      "start": 1853,
      "end": 1906,
      "loc": {
        "start": {
          "line": 61,
          "column": 8
        },
        "end": {
          "line": 63,
          "column": 11
        }
      }
    },
    {
      "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": 1915,
      "end": 1919,
      "loc": {
        "start": {
          "line": 64,
          "column": 8
        },
        "end": {
          "line": 64,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1919,
      "end": 1920,
      "loc": {
        "start": {
          "line": 64,
          "column": 12
        },
        "end": {
          "line": 64,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moodStationFetcher",
      "start": 1920,
      "end": 1938,
      "loc": {
        "start": {
          "line": 64,
          "column": 13
        },
        "end": {
          "line": 64,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1939,
      "end": 1940,
      "loc": {
        "start": {
          "line": 64,
          "column": 32
        },
        "end": {
          "line": 64,
          "column": 33
        }
      }
    },
    {
      "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": 1941,
      "end": 1944,
      "loc": {
        "start": {
          "line": 64,
          "column": 34
        },
        "end": {
          "line": 64,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "MoodStationFetcher",
      "start": 1945,
      "end": 1963,
      "loc": {
        "start": {
          "line": 64,
          "column": 38
        },
        "end": {
          "line": 64,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1963,
      "end": 1964,
      "loc": {
        "start": {
          "line": 64,
          "column": 56
        },
        "end": {
          "line": 64,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "http",
      "start": 1964,
      "end": 1968,
      "loc": {
        "start": {
          "line": 64,
          "column": 57
        },
        "end": {
          "line": 64,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1968,
      "end": 1969,
      "loc": {
        "start": {
          "line": 64,
          "column": 61
        },
        "end": {
          "line": 64,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 1970,
      "end": 1979,
      "loc": {
        "start": {
          "line": 64,
          "column": 63
        },
        "end": {
          "line": 64,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1979,
      "end": 1980,
      "loc": {
        "start": {
          "line": 64,
          "column": 72
        },
        "end": {
          "line": 64,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1985,
      "end": 1986,
      "loc": {
        "start": {
          "line": 65,
          "column": 4
        },
        "end": {
          "line": 65,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1987,
      "end": 1988,
      "loc": {
        "start": {
          "line": 66,
          "column": 0
        },
        "end": {
          "line": 66,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1988,
      "end": 1988,
      "loc": {
        "start": {
          "line": 66,
          "column": 1
        },
        "end": {
          "line": 66,
          "column": 1
        }
      }
    }
  ]
}