{
  "type": "File",
  "start": 0,
  "end": 3198,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 124,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 3198,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 124,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 38,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 38
          }
        },
        "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": 39,
        "end": 83,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 44
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 46,
            "end": 59,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 20
              }
            },
            "local": {
              "type": "Identifier",
              "start": 46,
              "end": 59,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 7
                },
                "end": {
                  "line": 2,
                  "column": 20
                },
                "identifierName": "SearchFetcher"
              },
              "name": "SearchFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 65,
          "end": 82,
          "loc": {
            "start": {
              "line": 2,
              "column": 26
            },
            "end": {
              "line": 2,
              "column": 43
            }
          },
          "extra": {
            "rawValue": "./SearchFetcher",
            "raw": "'./SearchFetcher'"
          },
          "value": "./SearchFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 84,
        "end": 126,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 42
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 91,
            "end": 103,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 19
              }
            },
            "local": {
              "type": "Identifier",
              "start": 91,
              "end": 103,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 7
                },
                "end": {
                  "line": 3,
                  "column": 19
                },
                "identifierName": "TrackFetcher"
              },
              "name": "TrackFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 109,
          "end": 125,
          "loc": {
            "start": {
              "line": 3,
              "column": 25
            },
            "end": {
              "line": 3,
              "column": 41
            }
          },
          "extra": {
            "rawValue": "./TrackFetcher",
            "raw": "'./TrackFetcher'"
          },
          "value": "./TrackFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 127,
        "end": 169,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 42
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 134,
            "end": 146,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 19
              }
            },
            "local": {
              "type": "Identifier",
              "start": 134,
              "end": 146,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 7
                },
                "end": {
                  "line": 4,
                  "column": 19
                },
                "identifierName": "AlbumFetcher"
              },
              "name": "AlbumFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 152,
          "end": 168,
          "loc": {
            "start": {
              "line": 4,
              "column": 25
            },
            "end": {
              "line": 4,
              "column": 41
            }
          },
          "extra": {
            "rawValue": "./AlbumFetcher",
            "raw": "'./AlbumFetcher'"
          },
          "value": "./AlbumFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 170,
        "end": 214,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 5,
            "column": 44
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 177,
            "end": 190,
            "loc": {
              "start": {
                "line": 5,
                "column": 7
              },
              "end": {
                "line": 5,
                "column": 20
              }
            },
            "local": {
              "type": "Identifier",
              "start": 177,
              "end": 190,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 7
                },
                "end": {
                  "line": 5,
                  "column": 20
                },
                "identifierName": "ArtistFetcher"
              },
              "name": "ArtistFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 196,
          "end": 213,
          "loc": {
            "start": {
              "line": 5,
              "column": 26
            },
            "end": {
              "line": 5,
              "column": 43
            }
          },
          "extra": {
            "rawValue": "./ArtistFetcher",
            "raw": "'./ArtistFetcher'"
          },
          "value": "./ArtistFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 215,
        "end": 279,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 6,
            "column": 64
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 222,
            "end": 245,
            "loc": {
              "start": {
                "line": 6,
                "column": 7
              },
              "end": {
                "line": 6,
                "column": 30
              }
            },
            "local": {
              "type": "Identifier",
              "start": 222,
              "end": 245,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 7
                },
                "end": {
                  "line": 6,
                  "column": 30
                },
                "identifierName": "FeaturedPlaylistFetcher"
              },
              "name": "FeaturedPlaylistFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 251,
          "end": 278,
          "loc": {
            "start": {
              "line": 6,
              "column": 36
            },
            "end": {
              "line": 6,
              "column": 63
            }
          },
          "extra": {
            "rawValue": "./FeaturedPlaylistFetcher",
            "raw": "'./FeaturedPlaylistFetcher'"
          },
          "value": "./FeaturedPlaylistFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 280,
        "end": 360,
        "loc": {
          "start": {
            "line": 7,
            "column": 0
          },
          "end": {
            "line": 7,
            "column": 80
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 287,
            "end": 318,
            "loc": {
              "start": {
                "line": 7,
                "column": 7
              },
              "end": {
                "line": 7,
                "column": 38
              }
            },
            "local": {
              "type": "Identifier",
              "start": 287,
              "end": 318,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 7
                },
                "end": {
                  "line": 7,
                  "column": 38
                },
                "identifierName": "FeaturedPlaylistCategoryFetcher"
              },
              "name": "FeaturedPlaylistCategoryFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 324,
          "end": 359,
          "loc": {
            "start": {
              "line": 7,
              "column": 44
            },
            "end": {
              "line": 7,
              "column": 79
            }
          },
          "extra": {
            "rawValue": "./FeaturedPlaylistCategoryFetcher",
            "raw": "'./FeaturedPlaylistCategoryFetcher'"
          },
          "value": "./FeaturedPlaylistCategoryFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 361,
        "end": 429,
        "loc": {
          "start": {
            "line": 8,
            "column": 0
          },
          "end": {
            "line": 8,
            "column": 68
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 368,
            "end": 393,
            "loc": {
              "start": {
                "line": 8,
                "column": 7
              },
              "end": {
                "line": 8,
                "column": 32
              }
            },
            "local": {
              "type": "Identifier",
              "start": 368,
              "end": 393,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 7
                },
                "end": {
                  "line": 8,
                  "column": 32
                },
                "identifierName": "NewReleaseCategoryFetcher"
              },
              "name": "NewReleaseCategoryFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 399,
          "end": 428,
          "loc": {
            "start": {
              "line": 8,
              "column": 38
            },
            "end": {
              "line": 8,
              "column": 67
            }
          },
          "extra": {
            "rawValue": "./NewReleaseCategoryFetcher",
            "raw": "'./NewReleaseCategoryFetcher'"
          },
          "value": "./NewReleaseCategoryFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 430,
        "end": 492,
        "loc": {
          "start": {
            "line": 9,
            "column": 0
          },
          "end": {
            "line": 9,
            "column": 62
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 437,
            "end": 459,
            "loc": {
              "start": {
                "line": 9,
                "column": 7
              },
              "end": {
                "line": 9,
                "column": 29
              }
            },
            "local": {
              "type": "Identifier",
              "start": 437,
              "end": 459,
              "loc": {
                "start": {
                  "line": 9,
                  "column": 7
                },
                "end": {
                  "line": 9,
                  "column": 29
                },
                "identifierName": "NewHitsPlaylistFetcher"
              },
              "name": "NewHitsPlaylistFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 465,
          "end": 491,
          "loc": {
            "start": {
              "line": 9,
              "column": 35
            },
            "end": {
              "line": 9,
              "column": 61
            }
          },
          "extra": {
            "rawValue": "./NewHitsPlaylistFetcher",
            "raw": "'./NewHitsPlaylistFetcher'"
          },
          "value": "./NewHitsPlaylistFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 493,
        "end": 549,
        "loc": {
          "start": {
            "line": 10,
            "column": 0
          },
          "end": {
            "line": 10,
            "column": 56
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 500,
            "end": 519,
            "loc": {
              "start": {
                "line": 10,
                "column": 7
              },
              "end": {
                "line": 10,
                "column": 26
              }
            },
            "local": {
              "type": "Identifier",
              "start": 500,
              "end": 519,
              "loc": {
                "start": {
                  "line": 10,
                  "column": 7
                },
                "end": {
                  "line": 10,
                  "column": 26
                },
                "identifierName": "GenreStationFetcher"
              },
              "name": "GenreStationFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 525,
          "end": 548,
          "loc": {
            "start": {
              "line": 10,
              "column": 32
            },
            "end": {
              "line": 10,
              "column": 55
            }
          },
          "extra": {
            "rawValue": "./GenreStationFetcher",
            "raw": "'./GenreStationFetcher'"
          },
          "value": "./GenreStationFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 550,
        "end": 604,
        "loc": {
          "start": {
            "line": 11,
            "column": 0
          },
          "end": {
            "line": 11,
            "column": 54
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 557,
            "end": 575,
            "loc": {
              "start": {
                "line": 11,
                "column": 7
              },
              "end": {
                "line": 11,
                "column": 25
              }
            },
            "local": {
              "type": "Identifier",
              "start": 557,
              "end": 575,
              "loc": {
                "start": {
                  "line": 11,
                  "column": 7
                },
                "end": {
                  "line": 11,
                  "column": 25
                },
                "identifierName": "MoodStationFetcher"
              },
              "name": "MoodStationFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 581,
          "end": 603,
          "loc": {
            "start": {
              "line": 11,
              "column": 31
            },
            "end": {
              "line": 11,
              "column": 53
            }
          },
          "extra": {
            "rawValue": "./MoodStationFetcher",
            "raw": "'./MoodStationFetcher'"
          },
          "value": "./MoodStationFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 605,
        "end": 647,
        "loc": {
          "start": {
            "line": 12,
            "column": 0
          },
          "end": {
            "line": 12,
            "column": 42
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 612,
            "end": 624,
            "loc": {
              "start": {
                "line": 12,
                "column": 7
              },
              "end": {
                "line": 12,
                "column": 19
              }
            },
            "local": {
              "type": "Identifier",
              "start": 612,
              "end": 624,
              "loc": {
                "start": {
                  "line": 12,
                  "column": 7
                },
                "end": {
                  "line": 12,
                  "column": 19
                },
                "identifierName": "ChartFetcher"
              },
              "name": "ChartFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 630,
          "end": 646,
          "loc": {
            "start": {
              "line": 12,
              "column": 25
            },
            "end": {
              "line": 12,
              "column": 41
            }
          },
          "extra": {
            "rawValue": "./ChartFetcher",
            "raw": "'./ChartFetcher'"
          },
          "value": "./ChartFetcher"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 648,
        "end": 708,
        "loc": {
          "start": {
            "line": 13,
            "column": 0
          },
          "end": {
            "line": 13,
            "column": 60
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 655,
            "end": 676,
            "loc": {
              "start": {
                "line": 13,
                "column": 7
              },
              "end": {
                "line": 13,
                "column": 28
              }
            },
            "local": {
              "type": "Identifier",
              "start": 655,
              "end": 676,
              "loc": {
                "start": {
                  "line": 13,
                  "column": 7
                },
                "end": {
                  "line": 13,
                  "column": 28
                },
                "identifierName": "SharedPlaylistFetcher"
              },
              "name": "SharedPlaylistFetcher"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 682,
          "end": 707,
          "loc": {
            "start": {
              "line": 13,
              "column": 34
            },
            "end": {
              "line": 13,
              "column": 59
            }
          },
          "extra": {
            "rawValue": "./SharedPlaylistFetcher",
            "raw": "'./SharedPlaylistFetcher'"
          },
          "value": "./SharedPlaylistFetcher"
        },
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Fetch KKBOX resources.\n ",
            "start": 710,
            "end": 743,
            "loc": {
              "start": {
                "line": 15,
                "column": 0
              },
              "end": {
                "line": 17,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 744,
        "end": 3197,
        "loc": {
          "start": {
            "line": 18,
            "column": 0
          },
          "end": {
            "line": 123,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 759,
          "end": 3197,
          "loc": {
            "start": {
              "line": 18,
              "column": 15
            },
            "end": {
              "line": 123,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 765,
            "end": 768,
            "loc": {
              "start": {
                "line": 18,
                "column": 21
              },
              "end": {
                "line": 18,
                "column": 24
              },
              "identifierName": "Api"
            },
            "name": "Api",
            "leadingComments": null
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 769,
            "end": 3197,
            "loc": {
              "start": {
                "line": 18,
                "column": 25
              },
              "end": {
                "line": 123,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 1041,
                "end": 1174,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 2
                  },
                  "end": {
                    "line": 31,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1041,
                  "end": 1052,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 2
                    },
                    "end": {
                      "line": 27,
                      "column": 13
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor",
                  "leadingComments": null
                },
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1053,
                    "end": 1058,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 14
                      },
                      "end": {
                        "line": 27,
                        "column": 19
                      },
                      "identifierName": "token"
                    },
                    "name": "token"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 1060,
                    "end": 1076,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 21
                      },
                      "end": {
                        "line": 27,
                        "column": 37
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 1060,
                      "end": 1069,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 21
                        },
                        "end": {
                          "line": 27,
                          "column": 30
                        },
                        "identifierName": "territory"
                      },
                      "name": "territory"
                    },
                    "right": {
                      "type": "StringLiteral",
                      "start": 1072,
                      "end": 1076,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 33
                        },
                        "end": {
                          "line": 27,
                          "column": 37
                        }
                      },
                      "extra": {
                        "rawValue": "TW",
                        "raw": "'TW'"
                      },
                      "value": "TW"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1078,
                  "end": 1174,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 39
                    },
                    "end": {
                      "line": 31,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1084,
                      "end": 1111,
                      "loc": {
                        "start": {
                          "line": 28,
                          "column": 4
                        },
                        "end": {
                          "line": 28,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1084,
                        "end": 1110,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 4
                          },
                          "end": {
                            "line": 28,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1084,
                          "end": 1098,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 4
                            },
                            "end": {
                              "line": 28,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1084,
                            "end": 1088,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 4
                              },
                              "end": {
                                "line": 28,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1089,
                            "end": 1098,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 9
                              },
                              "end": {
                                "line": 28,
                                "column": 18
                              },
                              "identifierName": "territory"
                            },
                            "name": "territory"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1101,
                          "end": 1110,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 21
                            },
                            "end": {
                              "line": 28,
                              "column": 30
                            },
                            "identifierName": "territory"
                          },
                          "name": "territory"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1116,
                      "end": 1144,
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 4
                        },
                        "end": {
                          "line": 29,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1116,
                        "end": 1143,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 4
                          },
                          "end": {
                            "line": 29,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1116,
                          "end": 1131,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 4
                            },
                            "end": {
                              "line": 29,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1116,
                            "end": 1120,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 4
                              },
                              "end": {
                                "line": 29,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1121,
                            "end": 1131,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 9
                              },
                              "end": {
                                "line": 29,
                                "column": 19
                              },
                              "identifierName": "httpClient"
                            },
                            "name": "httpClient"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1134,
                          "end": 1143,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 22
                            },
                            "end": {
                              "line": 29,
                              "column": 31
                            },
                            "identifierName": "undefined"
                          },
                          "name": "undefined"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1149,
                      "end": 1170,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 4
                        },
                        "end": {
                          "line": 30,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1149,
                        "end": 1169,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 4
                          },
                          "end": {
                            "line": 30,
                            "column": 24
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1149,
                          "end": 1162,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 4
                            },
                            "end": {
                              "line": 30,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1149,
                            "end": 1153,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 4
                              },
                              "end": {
                                "line": 30,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1154,
                            "end": 1162,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 9
                              },
                              "end": {
                                "line": 30,
                                "column": 17
                              },
                              "identifierName": "setToken"
                            },
                            "name": "setToken"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1163,
                            "end": 1168,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 18
                              },
                              "end": {
                                "line": 30,
                                "column": 23
                              },
                              "identifierName": "token"
                            },
                            "name": "token"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "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": 773,
                    "end": 1038,
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 2
                      },
                      "end": {
                        "line": 26,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * Set new token and create fetchers with the new token.\n   *\n   * @param {string} token - Get via Auth.\n   * @example api.setToken(token);\n   ",
                    "start": 1178,
                    "end": 1329,
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 2
                      },
                      "end": {
                        "line": 38,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1332,
                "end": 3195,
                "loc": {
                  "start": {
                    "line": 39,
                    "column": 2
                  },
                  "end": {
                    "line": 122,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1332,
                  "end": 1340,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 2
                    },
                    "end": {
                      "line": 39,
                      "column": 10
                    },
                    "identifierName": "setToken"
                  },
                  "name": "setToken",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1341,
                    "end": 1346,
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 11
                      },
                      "end": {
                        "line": 39,
                        "column": 16
                      },
                      "identifierName": "token"
                    },
                    "name": "token"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1348,
                  "end": 3195,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 18
                    },
                    "end": {
                      "line": 122,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1354,
                      "end": 1394,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 4
                        },
                        "end": {
                          "line": 40,
                          "column": 44
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1354,
                        "end": 1393,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 4
                          },
                          "end": {
                            "line": 40,
                            "column": 43
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1354,
                          "end": 1369,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 4
                            },
                            "end": {
                              "line": 40,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1354,
                            "end": 1358,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 4
                              },
                              "end": {
                                "line": 40,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1359,
                            "end": 1369,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 9
                              },
                              "end": {
                                "line": 40,
                                "column": 19
                              },
                              "identifierName": "httpClient"
                            },
                            "name": "httpClient"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1372,
                          "end": 1393,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 22
                            },
                            "end": {
                              "line": 40,
                              "column": 43
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1376,
                            "end": 1386,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 26
                              },
                              "end": {
                                "line": 40,
                                "column": 36
                              },
                              "identifierName": "HttpClient"
                            },
                            "name": "HttpClient"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1387,
                              "end": 1392,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 37
                                },
                                "end": {
                                  "line": 40,
                                  "column": 42
                                },
                                "identifierName": "token"
                              },
                              "name": "token"
                            }
                          ]
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {SearchFetcher}\n     ",
                          "start": 1400,
                          "end": 1440,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 4
                            },
                            "end": {
                              "line": 44,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1445,
                      "end": 1517,
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 4
                        },
                        "end": {
                          "line": 45,
                          "column": 76
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1445,
                        "end": 1516,
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 4
                          },
                          "end": {
                            "line": 45,
                            "column": 75
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1445,
                          "end": 1463,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 4
                            },
                            "end": {
                              "line": 45,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1445,
                            "end": 1449,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 4
                              },
                              "end": {
                                "line": 45,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1450,
                            "end": 1463,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 9
                              },
                              "end": {
                                "line": 45,
                                "column": 22
                              },
                              "identifierName": "searchFetcher"
                            },
                            "name": "searchFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1466,
                          "end": 1516,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 25
                            },
                            "end": {
                              "line": 45,
                              "column": 75
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1470,
                            "end": 1483,
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 29
                              },
                              "end": {
                                "line": 45,
                                "column": 42
                              },
                              "identifierName": "SearchFetcher"
                            },
                            "name": "SearchFetcher"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 1484,
                              "end": 1499,
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 43
                                },
                                "end": {
                                  "line": 45,
                                  "column": 58
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1484,
                                "end": 1488,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 47
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1489,
                                "end": 1499,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 58
                                  },
                                  "identifierName": "httpClient"
                                },
                                "name": "httpClient"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 1501,
                              "end": 1515,
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 60
                                },
                                "end": {
                                  "line": 45,
                                  "column": 74
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1501,
                                "end": 1505,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 64
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1506,
                                "end": 1515,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 65
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 74
                                  },
                                  "identifierName": "territory"
                                },
                                "name": "territory"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {SearchFetcher}\n     ",
                          "start": 1400,
                          "end": 1440,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 4
                            },
                            "end": {
                              "line": 44,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {TrackFetcher}\n     ",
                          "start": 1523,
                          "end": 1562,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 4
                            },
                            "end": {
                              "line": 49,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1567,
                      "end": 1637,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 4
                        },
                        "end": {
                          "line": 50,
                          "column": 74
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1567,
                        "end": 1636,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 4
                          },
                          "end": {
                            "line": 50,
                            "column": 73
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1567,
                          "end": 1584,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 4
                            },
                            "end": {
                              "line": 50,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1567,
                            "end": 1571,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 4
                              },
                              "end": {
                                "line": 50,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1572,
                            "end": 1584,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 9
                              },
                              "end": {
                                "line": 50,
                                "column": 21
                              },
                              "identifierName": "trackFetcher"
                            },
                            "name": "trackFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1587,
                          "end": 1636,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 24
                            },
                            "end": {
                              "line": 50,
                              "column": 73
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1591,
                            "end": 1603,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 28
                              },
                              "end": {
                                "line": 50,
                                "column": 40
                              },
                              "identifierName": "TrackFetcher"
                            },
                            "name": "TrackFetcher"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 1604,
                              "end": 1619,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 41
                                },
                                "end": {
                                  "line": 50,
                                  "column": 56
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1604,
                                "end": 1608,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 45
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1609,
                                "end": 1619,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 56
                                  },
                                  "identifierName": "httpClient"
                                },
                                "name": "httpClient"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 1621,
                              "end": 1635,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 58
                                },
                                "end": {
                                  "line": 50,
                                  "column": 72
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1621,
                                "end": 1625,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 62
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1626,
                                "end": 1635,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 72
                                  },
                                  "identifierName": "territory"
                                },
                                "name": "territory"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {TrackFetcher}\n     ",
                          "start": 1523,
                          "end": 1562,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 4
                            },
                            "end": {
                              "line": 49,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {AlbumFetcher}\n     ",
                          "start": 1643,
                          "end": 1682,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 4
                            },
                            "end": {
                              "line": 54,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1687,
                      "end": 1757,
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 4
                        },
                        "end": {
                          "line": 55,
                          "column": 74
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1687,
                        "end": 1756,
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 4
                          },
                          "end": {
                            "line": 55,
                            "column": 73
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1687,
                          "end": 1704,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 4
                            },
                            "end": {
                              "line": 55,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1687,
                            "end": 1691,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 4
                              },
                              "end": {
                                "line": 55,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1692,
                            "end": 1704,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 9
                              },
                              "end": {
                                "line": 55,
                                "column": 21
                              },
                              "identifierName": "albumFetcher"
                            },
                            "name": "albumFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1707,
                          "end": 1756,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 24
                            },
                            "end": {
                              "line": 55,
                              "column": 73
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1711,
                            "end": 1723,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 28
                              },
                              "end": {
                                "line": 55,
                                "column": 40
                              },
                              "identifierName": "AlbumFetcher"
                            },
                            "name": "AlbumFetcher"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 1724,
                              "end": 1739,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 41
                                },
                                "end": {
                                  "line": 55,
                                  "column": 56
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1724,
                                "end": 1728,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 45
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1729,
                                "end": 1739,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 56
                                  },
                                  "identifierName": "httpClient"
                                },
                                "name": "httpClient"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 1741,
                              "end": 1755,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 58
                                },
                                "end": {
                                  "line": 55,
                                  "column": 72
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1741,
                                "end": 1745,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 62
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1746,
                                "end": 1755,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 72
                                  },
                                  "identifierName": "territory"
                                },
                                "name": "territory"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {AlbumFetcher}\n     ",
                          "start": 1643,
                          "end": 1682,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 4
                            },
                            "end": {
                              "line": 54,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {ArtistFetcher}\n     ",
                          "start": 1763,
                          "end": 1803,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 4
                            },
                            "end": {
                              "line": 59,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1808,
                      "end": 1880,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 4
                        },
                        "end": {
                          "line": 60,
                          "column": 76
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1808,
                        "end": 1879,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 4
                          },
                          "end": {
                            "line": 60,
                            "column": 75
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1808,
                          "end": 1826,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 4
                            },
                            "end": {
                              "line": 60,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1808,
                            "end": 1812,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 4
                              },
                              "end": {
                                "line": 60,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1813,
                            "end": 1826,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 9
                              },
                              "end": {
                                "line": 60,
                                "column": 22
                              },
                              "identifierName": "artistFetcher"
                            },
                            "name": "artistFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1829,
                          "end": 1879,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 25
                            },
                            "end": {
                              "line": 60,
                              "column": 75
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1833,
                            "end": 1846,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 29
                              },
                              "end": {
                                "line": 60,
                                "column": 42
                              },
                              "identifierName": "ArtistFetcher"
                            },
                            "name": "ArtistFetcher"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 1847,
                              "end": 1862,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 43
                                },
                                "end": {
                                  "line": 60,
                                  "column": 58
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1847,
                                "end": 1851,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 47
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1852,
                                "end": 1862,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 58
                                  },
                                  "identifierName": "httpClient"
                                },
                                "name": "httpClient"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 1864,
                              "end": 1878,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 60
                                },
                                "end": {
                                  "line": 60,
                                  "column": 74
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1864,
                                "end": 1868,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 64
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1869,
                                "end": 1878,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 65
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 74
                                  },
                                  "identifierName": "territory"
                                },
                                "name": "territory"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {ArtistFetcher}\n     ",
                          "start": 1763,
                          "end": 1803,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 4
                            },
                            "end": {
                              "line": 59,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {FeaturedPlaylistFetcher}\n     ",
                          "start": 1886,
                          "end": 1936,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 4
                            },
                            "end": {
                              "line": 64,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1941,
                      "end": 2051,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 4
                        },
                        "end": {
                          "line": 68,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1941,
                        "end": 2050,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 4
                          },
                          "end": {
                            "line": 68,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1941,
                          "end": 1969,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 4
                            },
                            "end": {
                              "line": 65,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1941,
                            "end": 1945,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 4
                              },
                              "end": {
                                "line": 65,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1946,
                            "end": 1969,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 9
                              },
                              "end": {
                                "line": 65,
                                "column": 32
                              },
                              "identifierName": "featuredPlaylistFetcher"
                            },
                            "name": "featuredPlaylistFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1972,
                          "end": 2050,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 35
                            },
                            "end": {
                              "line": 68,
                              "column": 5
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1976,
                            "end": 1999,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 39
                              },
                              "end": {
                                "line": 65,
                                "column": 62
                              },
                              "identifierName": "FeaturedPlaylistFetcher"
                            },
                            "name": "FeaturedPlaylistFetcher"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 2007,
                              "end": 2022,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 6
                                },
                                "end": {
                                  "line": 66,
                                  "column": 21
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2007,
                                "end": 2011,
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 10
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2012,
                                "end": 2022,
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 21
                                  },
                                  "identifierName": "httpClient"
                                },
                                "name": "httpClient"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 2030,
                              "end": 2044,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 6
                                },
                                "end": {
                                  "line": 67,
                                  "column": 20
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2030,
                                "end": 2034,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 10
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2035,
                                "end": 2044,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 20
                                  },
                                  "identifierName": "territory"
                                },
                                "name": "territory"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {FeaturedPlaylistFetcher}\n     ",
                          "start": 1886,
                          "end": 1936,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 4
                            },
                            "end": {
                              "line": 64,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {FeaturedPlaylistCategoryFetcher}\n     ",
                          "start": 2057,
                          "end": 2115,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 4
                            },
                            "end": {
                              "line": 72,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2120,
                      "end": 2246,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 4
                        },
                        "end": {
                          "line": 76,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2120,
                        "end": 2245,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 4
                          },
                          "end": {
                            "line": 76,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2120,
                          "end": 2156,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 4
                            },
                            "end": {
                              "line": 73,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2120,
                            "end": 2124,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 4
                              },
                              "end": {
                                "line": 73,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2125,
                            "end": 2156,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 9
                              },
                              "end": {
                                "line": 73,
                                "column": 40
                              },
                              "identifierName": "featuredPlaylistCategoryFetcher"
                            },
                            "name": "featuredPlaylistCategoryFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 2159,
                          "end": 2245,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 43
                            },
                            "end": {
                              "line": 76,
                              "column": 5
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2163,
                            "end": 2194,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 47
                              },
                              "end": {
                                "line": 73,
                                "column": 78
                              },
                              "identifierName": "FeaturedPlaylistCategoryFetcher"
                            },
                            "name": "FeaturedPlaylistCategoryFetcher"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 2202,
                              "end": 2217,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 6
                                },
                                "end": {
                                  "line": 74,
                                  "column": 21
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2202,
                                "end": 2206,
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 10
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2207,
                                "end": 2217,
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 21
                                  },
                                  "identifierName": "httpClient"
                                },
                                "name": "httpClient"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 2225,
                              "end": 2239,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 6
                                },
                                "end": {
                                  "line": 75,
                                  "column": 20
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2225,
                                "end": 2229,
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 10
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2230,
                                "end": 2239,
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 20
                                  },
                                  "identifierName": "territory"
                                },
                                "name": "territory"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {FeaturedPlaylistCategoryFetcher}\n     ",
                          "start": 2057,
                          "end": 2115,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 4
                            },
                            "end": {
                              "line": 72,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {NewReleaseCategoryFetcher}\n     ",
                          "start": 2252,
                          "end": 2304,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 4
                            },
                            "end": {
                              "line": 80,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2309,
                      "end": 2423,
                      "loc": {
                        "start": {
                          "line": 81,
                          "column": 4
                        },
                        "end": {
                          "line": 84,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2309,
                        "end": 2422,
                        "loc": {
                          "start": {
                            "line": 81,
                            "column": 4
                          },
                          "end": {
                            "line": 84,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2309,
                          "end": 2339,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 4
                            },
                            "end": {
                              "line": 81,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2309,
                            "end": 2313,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 4
                              },
                              "end": {
                                "line": 81,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2314,
                            "end": 2339,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 9
                              },
                              "end": {
                                "line": 81,
                                "column": 34
                              },
                              "identifierName": "newReleaseCategoryFetcher"
                            },
                            "name": "newReleaseCategoryFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 2342,
                          "end": 2422,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 37
                            },
                            "end": {
                              "line": 84,
                              "column": 5
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2346,
                            "end": 2371,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 41
                              },
                              "end": {
                                "line": 81,
                                "column": 66
                              },
                              "identifierName": "NewReleaseCategoryFetcher"
                            },
                            "name": "NewReleaseCategoryFetcher"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 2379,
                              "end": 2394,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 6
                                },
                                "end": {
                                  "line": 82,
                                  "column": 21
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2379,
                                "end": 2383,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 10
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2384,
                                "end": 2394,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 21
                                  },
                                  "identifierName": "httpClient"
                                },
                                "name": "httpClient"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 2402,
                              "end": 2416,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 6
                                },
                                "end": {
                                  "line": 83,
                                  "column": 20
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2402,
                                "end": 2406,
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 10
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2407,
                                "end": 2416,
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 20
                                  },
                                  "identifierName": "territory"
                                },
                                "name": "territory"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {NewReleaseCategoryFetcher}\n     ",
                          "start": 2252,
                          "end": 2304,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 4
                            },
                            "end": {
                              "line": 80,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {NewHitsPlaylistFetcher}\n     ",
                          "start": 2429,
                          "end": 2478,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 4
                            },
                            "end": {
                              "line": 88,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2483,
                      "end": 2591,
                      "loc": {
                        "start": {
                          "line": 89,
                          "column": 4
                        },
                        "end": {
                          "line": 92,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2483,
                        "end": 2590,
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 4
                          },
                          "end": {
                            "line": 92,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2483,
                          "end": 2510,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 4
                            },
                            "end": {
                              "line": 89,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2483,
                            "end": 2487,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 4
                              },
                              "end": {
                                "line": 89,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2488,
                            "end": 2510,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 9
                              },
                              "end": {
                                "line": 89,
                                "column": 31
                              },
                              "identifierName": "newHitsPlaylistFetcher"
                            },
                            "name": "newHitsPlaylistFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 2513,
                          "end": 2590,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 34
                            },
                            "end": {
                              "line": 92,
                              "column": 5
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2517,
                            "end": 2539,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 38
                              },
                              "end": {
                                "line": 89,
                                "column": 60
                              },
                              "identifierName": "NewHitsPlaylistFetcher"
                            },
                            "name": "NewHitsPlaylistFetcher"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 2547,
                              "end": 2562,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 6
                                },
                                "end": {
                                  "line": 90,
                                  "column": 21
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2547,
                                "end": 2551,
                                "loc": {
                                  "start": {
                                    "line": 90,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 90,
                                    "column": 10
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2552,
                                "end": 2562,
                                "loc": {
                                  "start": {
                                    "line": 90,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 90,
                                    "column": 21
                                  },
                                  "identifierName": "httpClient"
                                },
                                "name": "httpClient"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 2570,
                              "end": 2584,
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 6
                                },
                                "end": {
                                  "line": 91,
                                  "column": 20
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2570,
                                "end": 2574,
                                "loc": {
                                  "start": {
                                    "line": 91,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 91,
                                    "column": 10
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2575,
                                "end": 2584,
                                "loc": {
                                  "start": {
                                    "line": 91,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 91,
                                    "column": 20
                                  },
                                  "identifierName": "territory"
                                },
                                "name": "territory"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {NewHitsPlaylistFetcher}\n     ",
                          "start": 2429,
                          "end": 2478,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 4
                            },
                            "end": {
                              "line": 88,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {GenreStationFetcher}\n     ",
                          "start": 2597,
                          "end": 2643,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 4
                            },
                            "end": {
                              "line": 96,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2648,
                      "end": 2750,
                      "loc": {
                        "start": {
                          "line": 97,
                          "column": 4
                        },
                        "end": {
                          "line": 100,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2648,
                        "end": 2749,
                        "loc": {
                          "start": {
                            "line": 97,
                            "column": 4
                          },
                          "end": {
                            "line": 100,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2648,
                          "end": 2672,
                          "loc": {
                            "start": {
                              "line": 97,
                              "column": 4
                            },
                            "end": {
                              "line": 97,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2648,
                            "end": 2652,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 4
                              },
                              "end": {
                                "line": 97,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2653,
                            "end": 2672,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 9
                              },
                              "end": {
                                "line": 97,
                                "column": 28
                              },
                              "identifierName": "genreStationFetcher"
                            },
                            "name": "genreStationFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 2675,
                          "end": 2749,
                          "loc": {
                            "start": {
                              "line": 97,
                              "column": 31
                            },
                            "end": {
                              "line": 100,
                              "column": 5
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2679,
                            "end": 2698,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 35
                              },
                              "end": {
                                "line": 97,
                                "column": 54
                              },
                              "identifierName": "GenreStationFetcher"
                            },
                            "name": "GenreStationFetcher"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 2706,
                              "end": 2721,
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 6
                                },
                                "end": {
                                  "line": 98,
                                  "column": 21
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2706,
                                "end": 2710,
                                "loc": {
                                  "start": {
                                    "line": 98,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 10
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2711,
                                "end": 2721,
                                "loc": {
                                  "start": {
                                    "line": 98,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 21
                                  },
                                  "identifierName": "httpClient"
                                },
                                "name": "httpClient"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 2729,
                              "end": 2743,
                              "loc": {
                                "start": {
                                  "line": 99,
                                  "column": 6
                                },
                                "end": {
                                  "line": 99,
                                  "column": 20
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2729,
                                "end": 2733,
                                "loc": {
                                  "start": {
                                    "line": 99,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 99,
                                    "column": 10
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2734,
                                "end": 2743,
                                "loc": {
                                  "start": {
                                    "line": 99,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 99,
                                    "column": 20
                                  },
                                  "identifierName": "territory"
                                },
                                "name": "territory"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {GenreStationFetcher}\n     ",
                          "start": 2597,
                          "end": 2643,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 4
                            },
                            "end": {
                              "line": 96,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {MoodStationFetcher}\n     ",
                          "start": 2756,
                          "end": 2801,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 4
                            },
                            "end": {
                              "line": 104,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2806,
                      "end": 2906,
                      "loc": {
                        "start": {
                          "line": 105,
                          "column": 4
                        },
                        "end": {
                          "line": 108,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2806,
                        "end": 2905,
                        "loc": {
                          "start": {
                            "line": 105,
                            "column": 4
                          },
                          "end": {
                            "line": 108,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2806,
                          "end": 2829,
                          "loc": {
                            "start": {
                              "line": 105,
                              "column": 4
                            },
                            "end": {
                              "line": 105,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2806,
                            "end": 2810,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 4
                              },
                              "end": {
                                "line": 105,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2811,
                            "end": 2829,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 9
                              },
                              "end": {
                                "line": 105,
                                "column": 27
                              },
                              "identifierName": "moodStationFetcher"
                            },
                            "name": "moodStationFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 2832,
                          "end": 2905,
                          "loc": {
                            "start": {
                              "line": 105,
                              "column": 30
                            },
                            "end": {
                              "line": 108,
                              "column": 5
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2836,
                            "end": 2854,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 34
                              },
                              "end": {
                                "line": 105,
                                "column": 52
                              },
                              "identifierName": "MoodStationFetcher"
                            },
                            "name": "MoodStationFetcher"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 2862,
                              "end": 2877,
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 6
                                },
                                "end": {
                                  "line": 106,
                                  "column": 21
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2862,
                                "end": 2866,
                                "loc": {
                                  "start": {
                                    "line": 106,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 106,
                                    "column": 10
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2867,
                                "end": 2877,
                                "loc": {
                                  "start": {
                                    "line": 106,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 106,
                                    "column": 21
                                  },
                                  "identifierName": "httpClient"
                                },
                                "name": "httpClient"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 2885,
                              "end": 2899,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 6
                                },
                                "end": {
                                  "line": 107,
                                  "column": 20
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2885,
                                "end": 2889,
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 10
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2890,
                                "end": 2899,
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 20
                                  },
                                  "identifierName": "territory"
                                },
                                "name": "territory"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {MoodStationFetcher}\n     ",
                          "start": 2756,
                          "end": 2801,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 4
                            },
                            "end": {
                              "line": 104,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {ChartFetcher}\n     ",
                          "start": 2912,
                          "end": 2951,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 4
                            },
                            "end": {
                              "line": 112,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2956,
                      "end": 3026,
                      "loc": {
                        "start": {
                          "line": 113,
                          "column": 4
                        },
                        "end": {
                          "line": 113,
                          "column": 74
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2956,
                        "end": 3025,
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 4
                          },
                          "end": {
                            "line": 113,
                            "column": 73
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2956,
                          "end": 2973,
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 4
                            },
                            "end": {
                              "line": 113,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2956,
                            "end": 2960,
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 4
                              },
                              "end": {
                                "line": 113,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2961,
                            "end": 2973,
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 9
                              },
                              "end": {
                                "line": 113,
                                "column": 21
                              },
                              "identifierName": "chartFetcher"
                            },
                            "name": "chartFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 2976,
                          "end": 3025,
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 24
                            },
                            "end": {
                              "line": 113,
                              "column": 73
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2980,
                            "end": 2992,
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 28
                              },
                              "end": {
                                "line": 113,
                                "column": 40
                              },
                              "identifierName": "ChartFetcher"
                            },
                            "name": "ChartFetcher"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 2993,
                              "end": 3008,
                              "loc": {
                                "start": {
                                  "line": 113,
                                  "column": 41
                                },
                                "end": {
                                  "line": 113,
                                  "column": 56
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 2993,
                                "end": 2997,
                                "loc": {
                                  "start": {
                                    "line": 113,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 113,
                                    "column": 45
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2998,
                                "end": 3008,
                                "loc": {
                                  "start": {
                                    "line": 113,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 113,
                                    "column": 56
                                  },
                                  "identifierName": "httpClient"
                                },
                                "name": "httpClient"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 3010,
                              "end": 3024,
                              "loc": {
                                "start": {
                                  "line": 113,
                                  "column": 58
                                },
                                "end": {
                                  "line": 113,
                                  "column": 72
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 3010,
                                "end": 3014,
                                "loc": {
                                  "start": {
                                    "line": 113,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 113,
                                    "column": 62
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3015,
                                "end": 3024,
                                "loc": {
                                  "start": {
                                    "line": 113,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 113,
                                    "column": 72
                                  },
                                  "identifierName": "territory"
                                },
                                "name": "territory"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {ChartFetcher}\n     ",
                          "start": 2912,
                          "end": 2951,
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 4
                            },
                            "end": {
                              "line": 112,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {SharedPlaylistFetcher}\n     ",
                          "start": 3032,
                          "end": 3080,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 4
                            },
                            "end": {
                              "line": 117,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3085,
                      "end": 3191,
                      "loc": {
                        "start": {
                          "line": 118,
                          "column": 4
                        },
                        "end": {
                          "line": 121,
                          "column": 6
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3085,
                        "end": 3190,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 4
                          },
                          "end": {
                            "line": 121,
                            "column": 5
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 3085,
                          "end": 3111,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 4
                            },
                            "end": {
                              "line": 118,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 3085,
                            "end": 3089,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 4
                              },
                              "end": {
                                "line": 118,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3090,
                            "end": 3111,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 9
                              },
                              "end": {
                                "line": 118,
                                "column": 30
                              },
                              "identifierName": "sharedPlaylistFetcher"
                            },
                            "name": "sharedPlaylistFetcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 3114,
                          "end": 3190,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 33
                            },
                            "end": {
                              "line": 121,
                              "column": 5
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 3118,
                            "end": 3139,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 37
                              },
                              "end": {
                                "line": 118,
                                "column": 58
                              },
                              "identifierName": "SharedPlaylistFetcher"
                            },
                            "name": "SharedPlaylistFetcher"
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 3147,
                              "end": 3162,
                              "loc": {
                                "start": {
                                  "line": 119,
                                  "column": 6
                                },
                                "end": {
                                  "line": 119,
                                  "column": 21
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 3147,
                                "end": 3151,
                                "loc": {
                                  "start": {
                                    "line": 119,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 10
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3152,
                                "end": 3162,
                                "loc": {
                                  "start": {
                                    "line": 119,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 21
                                  },
                                  "identifierName": "httpClient"
                                },
                                "name": "httpClient"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 3170,
                              "end": 3184,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 6
                                },
                                "end": {
                                  "line": 120,
                                  "column": 20
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 3170,
                                "end": 3174,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 10
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3175,
                                "end": 3184,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 20
                                  },
                                  "identifierName": "territory"
                                },
                                "name": "territory"
                              },
                              "computed": false
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * @type {SharedPlaylistFetcher}\n     ",
                          "start": 3032,
                          "end": 3080,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 4
                            },
                            "end": {
                              "line": 117,
                              "column": 7
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * Set new token and create fetchers with the new token.\n   *\n   * @param {string} token - Get via Auth.\n   * @example api.setToken(token);\n   ",
                    "start": 1178,
                    "end": 1329,
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 2
                      },
                      "end": {
                        "line": 38,
                        "column": 5
                      }
                    }
                  }
                ]
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\n * Fetch KKBOX resources.\n ",
              "start": 710,
              "end": 743,
              "loc": {
                "start": {
                  "line": 15,
                  "column": 0
                },
                "end": {
                  "line": 17,
                  "column": 3
                }
              }
            }
          ],
          "trailingComments": []
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * Fetch KKBOX resources.\n ",
            "start": 710,
            "end": 743,
            "loc": {
              "start": {
                "line": 15,
                "column": 0
              },
              "end": {
                "line": 17,
                "column": 3
              }
            }
          }
        ]
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\n * Fetch KKBOX resources.\n ",
      "start": 710,
      "end": 743,
      "loc": {
        "start": {
          "line": 15,
          "column": 0
        },
        "end": {
          "line": 17,
          "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": 773,
      "end": 1038,
      "loc": {
        "start": {
          "line": 19,
          "column": 2
        },
        "end": {
          "line": 26,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * Set new token and create fetchers with the new token.\n   *\n   * @param {string} token - Get via Auth.\n   * @example api.setToken(token);\n   ",
      "start": 1178,
      "end": 1329,
      "loc": {
        "start": {
          "line": 33,
          "column": 2
        },
        "end": {
          "line": 38,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {SearchFetcher}\n     ",
      "start": 1400,
      "end": 1440,
      "loc": {
        "start": {
          "line": 42,
          "column": 4
        },
        "end": {
          "line": 44,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {TrackFetcher}\n     ",
      "start": 1523,
      "end": 1562,
      "loc": {
        "start": {
          "line": 47,
          "column": 4
        },
        "end": {
          "line": 49,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {AlbumFetcher}\n     ",
      "start": 1643,
      "end": 1682,
      "loc": {
        "start": {
          "line": 52,
          "column": 4
        },
        "end": {
          "line": 54,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {ArtistFetcher}\n     ",
      "start": 1763,
      "end": 1803,
      "loc": {
        "start": {
          "line": 57,
          "column": 4
        },
        "end": {
          "line": 59,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {FeaturedPlaylistFetcher}\n     ",
      "start": 1886,
      "end": 1936,
      "loc": {
        "start": {
          "line": 62,
          "column": 4
        },
        "end": {
          "line": 64,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {FeaturedPlaylistCategoryFetcher}\n     ",
      "start": 2057,
      "end": 2115,
      "loc": {
        "start": {
          "line": 70,
          "column": 4
        },
        "end": {
          "line": 72,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {NewReleaseCategoryFetcher}\n     ",
      "start": 2252,
      "end": 2304,
      "loc": {
        "start": {
          "line": 78,
          "column": 4
        },
        "end": {
          "line": 80,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {NewHitsPlaylistFetcher}\n     ",
      "start": 2429,
      "end": 2478,
      "loc": {
        "start": {
          "line": 86,
          "column": 4
        },
        "end": {
          "line": 88,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {GenreStationFetcher}\n     ",
      "start": 2597,
      "end": 2643,
      "loc": {
        "start": {
          "line": 94,
          "column": 4
        },
        "end": {
          "line": 96,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {MoodStationFetcher}\n     ",
      "start": 2756,
      "end": 2801,
      "loc": {
        "start": {
          "line": 102,
          "column": 4
        },
        "end": {
          "line": 104,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {ChartFetcher}\n     ",
      "start": 2912,
      "end": 2951,
      "loc": {
        "start": {
          "line": 110,
          "column": 4
        },
        "end": {
          "line": 112,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {SharedPlaylistFetcher}\n     ",
      "start": 3032,
      "end": 3080,
      "loc": {
        "start": {
          "line": 115,
          "column": 4
        },
        "end": {
          "line": 117,
          "column": 7
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "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": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 37,
      "end": 38,
      "loc": {
        "start": {
          "line": 1,
          "column": 37
        },
        "end": {
          "line": 1,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 39,
      "end": 45,
      "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": 46,
      "end": 59,
      "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": 60,
      "end": 64,
      "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": 65,
      "end": 82,
      "loc": {
        "start": {
          "line": 2,
          "column": 26
        },
        "end": {
          "line": 2,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 82,
      "end": 83,
      "loc": {
        "start": {
          "line": 2,
          "column": 43
        },
        "end": {
          "line": 2,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 84,
      "end": 90,
      "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": 91,
      "end": 103,
      "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": 104,
      "end": 108,
      "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": 109,
      "end": 125,
      "loc": {
        "start": {
          "line": 3,
          "column": 25
        },
        "end": {
          "line": 3,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 125,
      "end": 126,
      "loc": {
        "start": {
          "line": 3,
          "column": 41
        },
        "end": {
          "line": 3,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 127,
      "end": 133,
      "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": 134,
      "end": 146,
      "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": 147,
      "end": 151,
      "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": 152,
      "end": 168,
      "loc": {
        "start": {
          "line": 4,
          "column": 25
        },
        "end": {
          "line": 4,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 168,
      "end": 169,
      "loc": {
        "start": {
          "line": 4,
          "column": 41
        },
        "end": {
          "line": 4,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 170,
      "end": 176,
      "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": 177,
      "end": 190,
      "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": 191,
      "end": 195,
      "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": 196,
      "end": 213,
      "loc": {
        "start": {
          "line": 5,
          "column": 26
        },
        "end": {
          "line": 5,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 213,
      "end": 214,
      "loc": {
        "start": {
          "line": 5,
          "column": 43
        },
        "end": {
          "line": 5,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 215,
      "end": 221,
      "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": 222,
      "end": 245,
      "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": 246,
      "end": 250,
      "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": 251,
      "end": 278,
      "loc": {
        "start": {
          "line": 6,
          "column": 36
        },
        "end": {
          "line": 6,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 278,
      "end": 279,
      "loc": {
        "start": {
          "line": 6,
          "column": 63
        },
        "end": {
          "line": 6,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 280,
      "end": 286,
      "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": 287,
      "end": 318,
      "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": 319,
      "end": 323,
      "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": 324,
      "end": 359,
      "loc": {
        "start": {
          "line": 7,
          "column": 44
        },
        "end": {
          "line": 7,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 359,
      "end": 360,
      "loc": {
        "start": {
          "line": 7,
          "column": 79
        },
        "end": {
          "line": 7,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 361,
      "end": 367,
      "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": "NewReleaseCategoryFetcher",
      "start": 368,
      "end": 393,
      "loc": {
        "start": {
          "line": 8,
          "column": 7
        },
        "end": {
          "line": 8,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 394,
      "end": 398,
      "loc": {
        "start": {
          "line": 8,
          "column": 33
        },
        "end": {
          "line": 8,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./NewReleaseCategoryFetcher",
      "start": 399,
      "end": 428,
      "loc": {
        "start": {
          "line": 8,
          "column": 38
        },
        "end": {
          "line": 8,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 428,
      "end": 429,
      "loc": {
        "start": {
          "line": 8,
          "column": 67
        },
        "end": {
          "line": 8,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 430,
      "end": 436,
      "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": "NewHitsPlaylistFetcher",
      "start": 437,
      "end": 459,
      "loc": {
        "start": {
          "line": 9,
          "column": 7
        },
        "end": {
          "line": 9,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 460,
      "end": 464,
      "loc": {
        "start": {
          "line": 9,
          "column": 30
        },
        "end": {
          "line": 9,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./NewHitsPlaylistFetcher",
      "start": 465,
      "end": 491,
      "loc": {
        "start": {
          "line": 9,
          "column": 35
        },
        "end": {
          "line": 9,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 491,
      "end": 492,
      "loc": {
        "start": {
          "line": 9,
          "column": 61
        },
        "end": {
          "line": 9,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 493,
      "end": 499,
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 10,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "GenreStationFetcher",
      "start": 500,
      "end": 519,
      "loc": {
        "start": {
          "line": 10,
          "column": 7
        },
        "end": {
          "line": 10,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 520,
      "end": 524,
      "loc": {
        "start": {
          "line": 10,
          "column": 27
        },
        "end": {
          "line": 10,
          "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": 525,
      "end": 548,
      "loc": {
        "start": {
          "line": 10,
          "column": 32
        },
        "end": {
          "line": 10,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 548,
      "end": 549,
      "loc": {
        "start": {
          "line": 10,
          "column": 55
        },
        "end": {
          "line": 10,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 550,
      "end": 556,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 11,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "MoodStationFetcher",
      "start": 557,
      "end": 575,
      "loc": {
        "start": {
          "line": 11,
          "column": 7
        },
        "end": {
          "line": 11,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 576,
      "end": 580,
      "loc": {
        "start": {
          "line": 11,
          "column": 26
        },
        "end": {
          "line": 11,
          "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": 581,
      "end": 603,
      "loc": {
        "start": {
          "line": 11,
          "column": 31
        },
        "end": {
          "line": 11,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 603,
      "end": 604,
      "loc": {
        "start": {
          "line": 11,
          "column": 53
        },
        "end": {
          "line": 11,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 605,
      "end": 611,
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 12,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ChartFetcher",
      "start": 612,
      "end": 624,
      "loc": {
        "start": {
          "line": 12,
          "column": 7
        },
        "end": {
          "line": 12,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 625,
      "end": 629,
      "loc": {
        "start": {
          "line": 12,
          "column": 20
        },
        "end": {
          "line": 12,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./ChartFetcher",
      "start": 630,
      "end": 646,
      "loc": {
        "start": {
          "line": 12,
          "column": 25
        },
        "end": {
          "line": 12,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 646,
      "end": 647,
      "loc": {
        "start": {
          "line": 12,
          "column": 41
        },
        "end": {
          "line": 12,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 648,
      "end": 654,
      "loc": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 13,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SharedPlaylistFetcher",
      "start": 655,
      "end": 676,
      "loc": {
        "start": {
          "line": 13,
          "column": 7
        },
        "end": {
          "line": 13,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 677,
      "end": 681,
      "loc": {
        "start": {
          "line": 13,
          "column": 29
        },
        "end": {
          "line": 13,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./SharedPlaylistFetcher",
      "start": 682,
      "end": 707,
      "loc": {
        "start": {
          "line": 13,
          "column": 34
        },
        "end": {
          "line": 13,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 707,
      "end": 708,
      "loc": {
        "start": {
          "line": 13,
          "column": 59
        },
        "end": {
          "line": 13,
          "column": 60
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * Fetch KKBOX resources.\n ",
      "start": 710,
      "end": 743,
      "loc": {
        "start": {
          "line": 15,
          "column": 0
        },
        "end": {
          "line": 17,
          "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": 744,
      "end": 750,
      "loc": {
        "start": {
          "line": 18,
          "column": 0
        },
        "end": {
          "line": 18,
          "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": 751,
      "end": 758,
      "loc": {
        "start": {
          "line": 18,
          "column": 7
        },
        "end": {
          "line": 18,
          "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": 759,
      "end": 764,
      "loc": {
        "start": {
          "line": 18,
          "column": 15
        },
        "end": {
          "line": 18,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Api",
      "start": 765,
      "end": 768,
      "loc": {
        "start": {
          "line": 18,
          "column": 21
        },
        "end": {
          "line": 18,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 769,
      "end": 770,
      "loc": {
        "start": {
          "line": 18,
          "column": 25
        },
        "end": {
          "line": 18,
          "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": 773,
      "end": 1038,
      "loc": {
        "start": {
          "line": 19,
          "column": 2
        },
        "end": {
          "line": 26,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 1041,
      "end": 1052,
      "loc": {
        "start": {
          "line": 27,
          "column": 2
        },
        "end": {
          "line": 27,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1052,
      "end": 1053,
      "loc": {
        "start": {
          "line": 27,
          "column": 13
        },
        "end": {
          "line": 27,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "token",
      "start": 1053,
      "end": 1058,
      "loc": {
        "start": {
          "line": 27,
          "column": 14
        },
        "end": {
          "line": 27,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1058,
      "end": 1059,
      "loc": {
        "start": {
          "line": 27,
          "column": 19
        },
        "end": {
          "line": 27,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 1060,
      "end": 1069,
      "loc": {
        "start": {
          "line": 27,
          "column": 21
        },
        "end": {
          "line": 27,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1070,
      "end": 1071,
      "loc": {
        "start": {
          "line": 27,
          "column": 31
        },
        "end": {
          "line": 27,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "TW",
      "start": 1072,
      "end": 1076,
      "loc": {
        "start": {
          "line": 27,
          "column": 33
        },
        "end": {
          "line": 27,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1076,
      "end": 1077,
      "loc": {
        "start": {
          "line": 27,
          "column": 37
        },
        "end": {
          "line": 27,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1078,
      "end": 1079,
      "loc": {
        "start": {
          "line": 27,
          "column": 39
        },
        "end": {
          "line": 27,
          "column": 40
        }
      }
    },
    {
      "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": 1084,
      "end": 1088,
      "loc": {
        "start": {
          "line": 28,
          "column": 4
        },
        "end": {
          "line": 28,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1088,
      "end": 1089,
      "loc": {
        "start": {
          "line": 28,
          "column": 8
        },
        "end": {
          "line": 28,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 1089,
      "end": 1098,
      "loc": {
        "start": {
          "line": 28,
          "column": 9
        },
        "end": {
          "line": 28,
          "column": 18
        }
      }
    },
    {
      "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": 28,
          "column": 19
        },
        "end": {
          "line": 28,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 1101,
      "end": 1110,
      "loc": {
        "start": {
          "line": 28,
          "column": 21
        },
        "end": {
          "line": 28,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1110,
      "end": 1111,
      "loc": {
        "start": {
          "line": 28,
          "column": 30
        },
        "end": {
          "line": 28,
          "column": 31
        }
      }
    },
    {
      "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": 1116,
      "end": 1120,
      "loc": {
        "start": {
          "line": 29,
          "column": 4
        },
        "end": {
          "line": 29,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1120,
      "end": 1121,
      "loc": {
        "start": {
          "line": 29,
          "column": 8
        },
        "end": {
          "line": 29,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "httpClient",
      "start": 1121,
      "end": 1131,
      "loc": {
        "start": {
          "line": 29,
          "column": 9
        },
        "end": {
          "line": 29,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1132,
      "end": 1133,
      "loc": {
        "start": {
          "line": 29,
          "column": 20
        },
        "end": {
          "line": 29,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 1134,
      "end": 1143,
      "loc": {
        "start": {
          "line": 29,
          "column": 22
        },
        "end": {
          "line": 29,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1143,
      "end": 1144,
      "loc": {
        "start": {
          "line": 29,
          "column": 31
        },
        "end": {
          "line": 29,
          "column": 32
        }
      }
    },
    {
      "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": 1149,
      "end": 1153,
      "loc": {
        "start": {
          "line": 30,
          "column": 4
        },
        "end": {
          "line": 30,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1153,
      "end": 1154,
      "loc": {
        "start": {
          "line": 30,
          "column": 8
        },
        "end": {
          "line": 30,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setToken",
      "start": 1154,
      "end": 1162,
      "loc": {
        "start": {
          "line": 30,
          "column": 9
        },
        "end": {
          "line": 30,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1162,
      "end": 1163,
      "loc": {
        "start": {
          "line": 30,
          "column": 17
        },
        "end": {
          "line": 30,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "token",
      "start": 1163,
      "end": 1168,
      "loc": {
        "start": {
          "line": 30,
          "column": 18
        },
        "end": {
          "line": 30,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1168,
      "end": 1169,
      "loc": {
        "start": {
          "line": 30,
          "column": 23
        },
        "end": {
          "line": 30,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1169,
      "end": 1170,
      "loc": {
        "start": {
          "line": 30,
          "column": 24
        },
        "end": {
          "line": 30,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1173,
      "end": 1174,
      "loc": {
        "start": {
          "line": 31,
          "column": 2
        },
        "end": {
          "line": 31,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * Set new token and create fetchers with the new token.\n   *\n   * @param {string} token - Get via Auth.\n   * @example api.setToken(token);\n   ",
      "start": 1178,
      "end": 1329,
      "loc": {
        "start": {
          "line": 33,
          "column": 2
        },
        "end": {
          "line": 38,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setToken",
      "start": 1332,
      "end": 1340,
      "loc": {
        "start": {
          "line": 39,
          "column": 2
        },
        "end": {
          "line": 39,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1340,
      "end": 1341,
      "loc": {
        "start": {
          "line": 39,
          "column": 10
        },
        "end": {
          "line": 39,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "token",
      "start": 1341,
      "end": 1346,
      "loc": {
        "start": {
          "line": 39,
          "column": 11
        },
        "end": {
          "line": 39,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1346,
      "end": 1347,
      "loc": {
        "start": {
          "line": 39,
          "column": 16
        },
        "end": {
          "line": 39,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1348,
      "end": 1349,
      "loc": {
        "start": {
          "line": 39,
          "column": 18
        },
        "end": {
          "line": 39,
          "column": 19
        }
      }
    },
    {
      "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": 1354,
      "end": 1358,
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 40,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1358,
      "end": 1359,
      "loc": {
        "start": {
          "line": 40,
          "column": 8
        },
        "end": {
          "line": 40,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "httpClient",
      "start": 1359,
      "end": 1369,
      "loc": {
        "start": {
          "line": 40,
          "column": 9
        },
        "end": {
          "line": 40,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1370,
      "end": 1371,
      "loc": {
        "start": {
          "line": 40,
          "column": 20
        },
        "end": {
          "line": 40,
          "column": 21
        }
      }
    },
    {
      "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": 1372,
      "end": 1375,
      "loc": {
        "start": {
          "line": 40,
          "column": 22
        },
        "end": {
          "line": 40,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "HttpClient",
      "start": 1376,
      "end": 1386,
      "loc": {
        "start": {
          "line": 40,
          "column": 26
        },
        "end": {
          "line": 40,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1386,
      "end": 1387,
      "loc": {
        "start": {
          "line": 40,
          "column": 36
        },
        "end": {
          "line": 40,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "token",
      "start": 1387,
      "end": 1392,
      "loc": {
        "start": {
          "line": 40,
          "column": 37
        },
        "end": {
          "line": 40,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1392,
      "end": 1393,
      "loc": {
        "start": {
          "line": 40,
          "column": 42
        },
        "end": {
          "line": 40,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1393,
      "end": 1394,
      "loc": {
        "start": {
          "line": 40,
          "column": 43
        },
        "end": {
          "line": 40,
          "column": 44
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {SearchFetcher}\n     ",
      "start": 1400,
      "end": 1440,
      "loc": {
        "start": {
          "line": 42,
          "column": 4
        },
        "end": {
          "line": 44,
          "column": 7
        }
      }
    },
    {
      "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": 1445,
      "end": 1449,
      "loc": {
        "start": {
          "line": 45,
          "column": 4
        },
        "end": {
          "line": 45,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1449,
      "end": 1450,
      "loc": {
        "start": {
          "line": 45,
          "column": 8
        },
        "end": {
          "line": 45,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "searchFetcher",
      "start": 1450,
      "end": 1463,
      "loc": {
        "start": {
          "line": 45,
          "column": 9
        },
        "end": {
          "line": 45,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1464,
      "end": 1465,
      "loc": {
        "start": {
          "line": 45,
          "column": 23
        },
        "end": {
          "line": 45,
          "column": 24
        }
      }
    },
    {
      "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": 1466,
      "end": 1469,
      "loc": {
        "start": {
          "line": 45,
          "column": 25
        },
        "end": {
          "line": 45,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SearchFetcher",
      "start": 1470,
      "end": 1483,
      "loc": {
        "start": {
          "line": 45,
          "column": 29
        },
        "end": {
          "line": 45,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1483,
      "end": 1484,
      "loc": {
        "start": {
          "line": 45,
          "column": 42
        },
        "end": {
          "line": 45,
          "column": 43
        }
      }
    },
    {
      "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": 1484,
      "end": 1488,
      "loc": {
        "start": {
          "line": 45,
          "column": 43
        },
        "end": {
          "line": 45,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1488,
      "end": 1489,
      "loc": {
        "start": {
          "line": 45,
          "column": 47
        },
        "end": {
          "line": 45,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "httpClient",
      "start": 1489,
      "end": 1499,
      "loc": {
        "start": {
          "line": 45,
          "column": 48
        },
        "end": {
          "line": 45,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1499,
      "end": 1500,
      "loc": {
        "start": {
          "line": 45,
          "column": 58
        },
        "end": {
          "line": 45,
          "column": 59
        }
      }
    },
    {
      "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": 1501,
      "end": 1505,
      "loc": {
        "start": {
          "line": 45,
          "column": 60
        },
        "end": {
          "line": 45,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1505,
      "end": 1506,
      "loc": {
        "start": {
          "line": 45,
          "column": 64
        },
        "end": {
          "line": 45,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 1506,
      "end": 1515,
      "loc": {
        "start": {
          "line": 45,
          "column": 65
        },
        "end": {
          "line": 45,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1515,
      "end": 1516,
      "loc": {
        "start": {
          "line": 45,
          "column": 74
        },
        "end": {
          "line": 45,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1516,
      "end": 1517,
      "loc": {
        "start": {
          "line": 45,
          "column": 75
        },
        "end": {
          "line": 45,
          "column": 76
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {TrackFetcher}\n     ",
      "start": 1523,
      "end": 1562,
      "loc": {
        "start": {
          "line": 47,
          "column": 4
        },
        "end": {
          "line": 49,
          "column": 7
        }
      }
    },
    {
      "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": 1567,
      "end": 1571,
      "loc": {
        "start": {
          "line": 50,
          "column": 4
        },
        "end": {
          "line": 50,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1571,
      "end": 1572,
      "loc": {
        "start": {
          "line": 50,
          "column": 8
        },
        "end": {
          "line": 50,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "trackFetcher",
      "start": 1572,
      "end": 1584,
      "loc": {
        "start": {
          "line": 50,
          "column": 9
        },
        "end": {
          "line": 50,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1585,
      "end": 1586,
      "loc": {
        "start": {
          "line": 50,
          "column": 22
        },
        "end": {
          "line": 50,
          "column": 23
        }
      }
    },
    {
      "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": 1587,
      "end": 1590,
      "loc": {
        "start": {
          "line": 50,
          "column": 24
        },
        "end": {
          "line": 50,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TrackFetcher",
      "start": 1591,
      "end": 1603,
      "loc": {
        "start": {
          "line": 50,
          "column": 28
        },
        "end": {
          "line": 50,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1603,
      "end": 1604,
      "loc": {
        "start": {
          "line": 50,
          "column": 40
        },
        "end": {
          "line": 50,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1604,
      "end": 1608,
      "loc": {
        "start": {
          "line": 50,
          "column": 41
        },
        "end": {
          "line": 50,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1608,
      "end": 1609,
      "loc": {
        "start": {
          "line": 50,
          "column": 45
        },
        "end": {
          "line": 50,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "httpClient",
      "start": 1609,
      "end": 1619,
      "loc": {
        "start": {
          "line": 50,
          "column": 46
        },
        "end": {
          "line": 50,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1619,
      "end": 1620,
      "loc": {
        "start": {
          "line": 50,
          "column": 56
        },
        "end": {
          "line": 50,
          "column": 57
        }
      }
    },
    {
      "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": 1621,
      "end": 1625,
      "loc": {
        "start": {
          "line": 50,
          "column": 58
        },
        "end": {
          "line": 50,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1625,
      "end": 1626,
      "loc": {
        "start": {
          "line": 50,
          "column": 62
        },
        "end": {
          "line": 50,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 1626,
      "end": 1635,
      "loc": {
        "start": {
          "line": 50,
          "column": 63
        },
        "end": {
          "line": 50,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1635,
      "end": 1636,
      "loc": {
        "start": {
          "line": 50,
          "column": 72
        },
        "end": {
          "line": 50,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1636,
      "end": 1637,
      "loc": {
        "start": {
          "line": 50,
          "column": 73
        },
        "end": {
          "line": 50,
          "column": 74
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {AlbumFetcher}\n     ",
      "start": 1643,
      "end": 1682,
      "loc": {
        "start": {
          "line": 52,
          "column": 4
        },
        "end": {
          "line": 54,
          "column": 7
        }
      }
    },
    {
      "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": 1687,
      "end": 1691,
      "loc": {
        "start": {
          "line": 55,
          "column": 4
        },
        "end": {
          "line": 55,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1691,
      "end": 1692,
      "loc": {
        "start": {
          "line": 55,
          "column": 8
        },
        "end": {
          "line": 55,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "albumFetcher",
      "start": 1692,
      "end": 1704,
      "loc": {
        "start": {
          "line": 55,
          "column": 9
        },
        "end": {
          "line": 55,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1705,
      "end": 1706,
      "loc": {
        "start": {
          "line": 55,
          "column": 22
        },
        "end": {
          "line": 55,
          "column": 23
        }
      }
    },
    {
      "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": 1707,
      "end": 1710,
      "loc": {
        "start": {
          "line": 55,
          "column": 24
        },
        "end": {
          "line": 55,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "AlbumFetcher",
      "start": 1711,
      "end": 1723,
      "loc": {
        "start": {
          "line": 55,
          "column": 28
        },
        "end": {
          "line": 55,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1723,
      "end": 1724,
      "loc": {
        "start": {
          "line": 55,
          "column": 40
        },
        "end": {
          "line": 55,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1724,
      "end": 1728,
      "loc": {
        "start": {
          "line": 55,
          "column": 41
        },
        "end": {
          "line": 55,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1728,
      "end": 1729,
      "loc": {
        "start": {
          "line": 55,
          "column": 45
        },
        "end": {
          "line": 55,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "httpClient",
      "start": 1729,
      "end": 1739,
      "loc": {
        "start": {
          "line": 55,
          "column": 46
        },
        "end": {
          "line": 55,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1739,
      "end": 1740,
      "loc": {
        "start": {
          "line": 55,
          "column": 56
        },
        "end": {
          "line": 55,
          "column": 57
        }
      }
    },
    {
      "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": 1741,
      "end": 1745,
      "loc": {
        "start": {
          "line": 55,
          "column": 58
        },
        "end": {
          "line": 55,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1745,
      "end": 1746,
      "loc": {
        "start": {
          "line": 55,
          "column": 62
        },
        "end": {
          "line": 55,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 1746,
      "end": 1755,
      "loc": {
        "start": {
          "line": 55,
          "column": 63
        },
        "end": {
          "line": 55,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1755,
      "end": 1756,
      "loc": {
        "start": {
          "line": 55,
          "column": 72
        },
        "end": {
          "line": 55,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1756,
      "end": 1757,
      "loc": {
        "start": {
          "line": 55,
          "column": 73
        },
        "end": {
          "line": 55,
          "column": 74
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {ArtistFetcher}\n     ",
      "start": 1763,
      "end": 1803,
      "loc": {
        "start": {
          "line": 57,
          "column": 4
        },
        "end": {
          "line": 59,
          "column": 7
        }
      }
    },
    {
      "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": 1808,
      "end": 1812,
      "loc": {
        "start": {
          "line": 60,
          "column": 4
        },
        "end": {
          "line": 60,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1812,
      "end": 1813,
      "loc": {
        "start": {
          "line": 60,
          "column": 8
        },
        "end": {
          "line": 60,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "artistFetcher",
      "start": 1813,
      "end": 1826,
      "loc": {
        "start": {
          "line": 60,
          "column": 9
        },
        "end": {
          "line": 60,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1827,
      "end": 1828,
      "loc": {
        "start": {
          "line": 60,
          "column": 23
        },
        "end": {
          "line": 60,
          "column": 24
        }
      }
    },
    {
      "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": 1829,
      "end": 1832,
      "loc": {
        "start": {
          "line": 60,
          "column": 25
        },
        "end": {
          "line": 60,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ArtistFetcher",
      "start": 1833,
      "end": 1846,
      "loc": {
        "start": {
          "line": 60,
          "column": 29
        },
        "end": {
          "line": 60,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1846,
      "end": 1847,
      "loc": {
        "start": {
          "line": 60,
          "column": 42
        },
        "end": {
          "line": 60,
          "column": 43
        }
      }
    },
    {
      "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": 1847,
      "end": 1851,
      "loc": {
        "start": {
          "line": 60,
          "column": 43
        },
        "end": {
          "line": 60,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1851,
      "end": 1852,
      "loc": {
        "start": {
          "line": 60,
          "column": 47
        },
        "end": {
          "line": 60,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "httpClient",
      "start": 1852,
      "end": 1862,
      "loc": {
        "start": {
          "line": 60,
          "column": 48
        },
        "end": {
          "line": 60,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1862,
      "end": 1863,
      "loc": {
        "start": {
          "line": 60,
          "column": 58
        },
        "end": {
          "line": 60,
          "column": 59
        }
      }
    },
    {
      "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": 1864,
      "end": 1868,
      "loc": {
        "start": {
          "line": 60,
          "column": 60
        },
        "end": {
          "line": 60,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1868,
      "end": 1869,
      "loc": {
        "start": {
          "line": 60,
          "column": 64
        },
        "end": {
          "line": 60,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 1869,
      "end": 1878,
      "loc": {
        "start": {
          "line": 60,
          "column": 65
        },
        "end": {
          "line": 60,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1878,
      "end": 1879,
      "loc": {
        "start": {
          "line": 60,
          "column": 74
        },
        "end": {
          "line": 60,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1879,
      "end": 1880,
      "loc": {
        "start": {
          "line": 60,
          "column": 75
        },
        "end": {
          "line": 60,
          "column": 76
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {FeaturedPlaylistFetcher}\n     ",
      "start": 1886,
      "end": 1936,
      "loc": {
        "start": {
          "line": 62,
          "column": 4
        },
        "end": {
          "line": 64,
          "column": 7
        }
      }
    },
    {
      "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": 1941,
      "end": 1945,
      "loc": {
        "start": {
          "line": 65,
          "column": 4
        },
        "end": {
          "line": 65,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1945,
      "end": 1946,
      "loc": {
        "start": {
          "line": 65,
          "column": 8
        },
        "end": {
          "line": 65,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "featuredPlaylistFetcher",
      "start": 1946,
      "end": 1969,
      "loc": {
        "start": {
          "line": 65,
          "column": 9
        },
        "end": {
          "line": 65,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1970,
      "end": 1971,
      "loc": {
        "start": {
          "line": 65,
          "column": 33
        },
        "end": {
          "line": 65,
          "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": 1972,
      "end": 1975,
      "loc": {
        "start": {
          "line": 65,
          "column": 35
        },
        "end": {
          "line": 65,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "FeaturedPlaylistFetcher",
      "start": 1976,
      "end": 1999,
      "loc": {
        "start": {
          "line": 65,
          "column": 39
        },
        "end": {
          "line": 65,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1999,
      "end": 2000,
      "loc": {
        "start": {
          "line": 65,
          "column": 62
        },
        "end": {
          "line": 65,
          "column": 63
        }
      }
    },
    {
      "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": 2007,
      "end": 2011,
      "loc": {
        "start": {
          "line": 66,
          "column": 6
        },
        "end": {
          "line": 66,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2011,
      "end": 2012,
      "loc": {
        "start": {
          "line": 66,
          "column": 10
        },
        "end": {
          "line": 66,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "httpClient",
      "start": 2012,
      "end": 2022,
      "loc": {
        "start": {
          "line": 66,
          "column": 11
        },
        "end": {
          "line": 66,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2022,
      "end": 2023,
      "loc": {
        "start": {
          "line": 66,
          "column": 21
        },
        "end": {
          "line": 66,
          "column": 22
        }
      }
    },
    {
      "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": 2030,
      "end": 2034,
      "loc": {
        "start": {
          "line": 67,
          "column": 6
        },
        "end": {
          "line": 67,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2034,
      "end": 2035,
      "loc": {
        "start": {
          "line": 67,
          "column": 10
        },
        "end": {
          "line": 67,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 2035,
      "end": 2044,
      "loc": {
        "start": {
          "line": 67,
          "column": 11
        },
        "end": {
          "line": 67,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2049,
      "end": 2050,
      "loc": {
        "start": {
          "line": 68,
          "column": 4
        },
        "end": {
          "line": 68,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2050,
      "end": 2051,
      "loc": {
        "start": {
          "line": 68,
          "column": 5
        },
        "end": {
          "line": 68,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {FeaturedPlaylistCategoryFetcher}\n     ",
      "start": 2057,
      "end": 2115,
      "loc": {
        "start": {
          "line": 70,
          "column": 4
        },
        "end": {
          "line": 72,
          "column": 7
        }
      }
    },
    {
      "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": 2120,
      "end": 2124,
      "loc": {
        "start": {
          "line": 73,
          "column": 4
        },
        "end": {
          "line": 73,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2124,
      "end": 2125,
      "loc": {
        "start": {
          "line": 73,
          "column": 8
        },
        "end": {
          "line": 73,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "featuredPlaylistCategoryFetcher",
      "start": 2125,
      "end": 2156,
      "loc": {
        "start": {
          "line": 73,
          "column": 9
        },
        "end": {
          "line": 73,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2157,
      "end": 2158,
      "loc": {
        "start": {
          "line": 73,
          "column": 41
        },
        "end": {
          "line": 73,
          "column": 42
        }
      }
    },
    {
      "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": 2159,
      "end": 2162,
      "loc": {
        "start": {
          "line": 73,
          "column": 43
        },
        "end": {
          "line": 73,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "FeaturedPlaylistCategoryFetcher",
      "start": 2163,
      "end": 2194,
      "loc": {
        "start": {
          "line": 73,
          "column": 47
        },
        "end": {
          "line": 73,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2194,
      "end": 2195,
      "loc": {
        "start": {
          "line": 73,
          "column": 78
        },
        "end": {
          "line": 73,
          "column": 79
        }
      }
    },
    {
      "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": 2202,
      "end": 2206,
      "loc": {
        "start": {
          "line": 74,
          "column": 6
        },
        "end": {
          "line": 74,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2206,
      "end": 2207,
      "loc": {
        "start": {
          "line": 74,
          "column": 10
        },
        "end": {
          "line": 74,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "httpClient",
      "start": 2207,
      "end": 2217,
      "loc": {
        "start": {
          "line": 74,
          "column": 11
        },
        "end": {
          "line": 74,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2217,
      "end": 2218,
      "loc": {
        "start": {
          "line": 74,
          "column": 21
        },
        "end": {
          "line": 74,
          "column": 22
        }
      }
    },
    {
      "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": 2225,
      "end": 2229,
      "loc": {
        "start": {
          "line": 75,
          "column": 6
        },
        "end": {
          "line": 75,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2229,
      "end": 2230,
      "loc": {
        "start": {
          "line": 75,
          "column": 10
        },
        "end": {
          "line": 75,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 2230,
      "end": 2239,
      "loc": {
        "start": {
          "line": 75,
          "column": 11
        },
        "end": {
          "line": 75,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2244,
      "end": 2245,
      "loc": {
        "start": {
          "line": 76,
          "column": 4
        },
        "end": {
          "line": 76,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2245,
      "end": 2246,
      "loc": {
        "start": {
          "line": 76,
          "column": 5
        },
        "end": {
          "line": 76,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {NewReleaseCategoryFetcher}\n     ",
      "start": 2252,
      "end": 2304,
      "loc": {
        "start": {
          "line": 78,
          "column": 4
        },
        "end": {
          "line": 80,
          "column": 7
        }
      }
    },
    {
      "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": 2309,
      "end": 2313,
      "loc": {
        "start": {
          "line": 81,
          "column": 4
        },
        "end": {
          "line": 81,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2313,
      "end": 2314,
      "loc": {
        "start": {
          "line": 81,
          "column": 8
        },
        "end": {
          "line": 81,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newReleaseCategoryFetcher",
      "start": 2314,
      "end": 2339,
      "loc": {
        "start": {
          "line": 81,
          "column": 9
        },
        "end": {
          "line": 81,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2340,
      "end": 2341,
      "loc": {
        "start": {
          "line": 81,
          "column": 35
        },
        "end": {
          "line": 81,
          "column": 36
        }
      }
    },
    {
      "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": 2342,
      "end": 2345,
      "loc": {
        "start": {
          "line": 81,
          "column": 37
        },
        "end": {
          "line": 81,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "NewReleaseCategoryFetcher",
      "start": 2346,
      "end": 2371,
      "loc": {
        "start": {
          "line": 81,
          "column": 41
        },
        "end": {
          "line": 81,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2371,
      "end": 2372,
      "loc": {
        "start": {
          "line": 81,
          "column": 66
        },
        "end": {
          "line": 81,
          "column": 67
        }
      }
    },
    {
      "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": 2379,
      "end": 2383,
      "loc": {
        "start": {
          "line": 82,
          "column": 6
        },
        "end": {
          "line": 82,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2383,
      "end": 2384,
      "loc": {
        "start": {
          "line": 82,
          "column": 10
        },
        "end": {
          "line": 82,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "httpClient",
      "start": 2384,
      "end": 2394,
      "loc": {
        "start": {
          "line": 82,
          "column": 11
        },
        "end": {
          "line": 82,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2394,
      "end": 2395,
      "loc": {
        "start": {
          "line": 82,
          "column": 21
        },
        "end": {
          "line": 82,
          "column": 22
        }
      }
    },
    {
      "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": 2402,
      "end": 2406,
      "loc": {
        "start": {
          "line": 83,
          "column": 6
        },
        "end": {
          "line": 83,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2406,
      "end": 2407,
      "loc": {
        "start": {
          "line": 83,
          "column": 10
        },
        "end": {
          "line": 83,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 2407,
      "end": 2416,
      "loc": {
        "start": {
          "line": 83,
          "column": 11
        },
        "end": {
          "line": 83,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2421,
      "end": 2422,
      "loc": {
        "start": {
          "line": 84,
          "column": 4
        },
        "end": {
          "line": 84,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2422,
      "end": 2423,
      "loc": {
        "start": {
          "line": 84,
          "column": 5
        },
        "end": {
          "line": 84,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {NewHitsPlaylistFetcher}\n     ",
      "start": 2429,
      "end": 2478,
      "loc": {
        "start": {
          "line": 86,
          "column": 4
        },
        "end": {
          "line": 88,
          "column": 7
        }
      }
    },
    {
      "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": 2483,
      "end": 2487,
      "loc": {
        "start": {
          "line": 89,
          "column": 4
        },
        "end": {
          "line": 89,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2487,
      "end": 2488,
      "loc": {
        "start": {
          "line": 89,
          "column": 8
        },
        "end": {
          "line": 89,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newHitsPlaylistFetcher",
      "start": 2488,
      "end": 2510,
      "loc": {
        "start": {
          "line": 89,
          "column": 9
        },
        "end": {
          "line": 89,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2511,
      "end": 2512,
      "loc": {
        "start": {
          "line": 89,
          "column": 32
        },
        "end": {
          "line": 89,
          "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": 2513,
      "end": 2516,
      "loc": {
        "start": {
          "line": 89,
          "column": 34
        },
        "end": {
          "line": 89,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "NewHitsPlaylistFetcher",
      "start": 2517,
      "end": 2539,
      "loc": {
        "start": {
          "line": 89,
          "column": 38
        },
        "end": {
          "line": 89,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2539,
      "end": 2540,
      "loc": {
        "start": {
          "line": 89,
          "column": 60
        },
        "end": {
          "line": 89,
          "column": 61
        }
      }
    },
    {
      "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": 2547,
      "end": 2551,
      "loc": {
        "start": {
          "line": 90,
          "column": 6
        },
        "end": {
          "line": 90,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2551,
      "end": 2552,
      "loc": {
        "start": {
          "line": 90,
          "column": 10
        },
        "end": {
          "line": 90,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "httpClient",
      "start": 2552,
      "end": 2562,
      "loc": {
        "start": {
          "line": 90,
          "column": 11
        },
        "end": {
          "line": 90,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2562,
      "end": 2563,
      "loc": {
        "start": {
          "line": 90,
          "column": 21
        },
        "end": {
          "line": 90,
          "column": 22
        }
      }
    },
    {
      "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": 2570,
      "end": 2574,
      "loc": {
        "start": {
          "line": 91,
          "column": 6
        },
        "end": {
          "line": 91,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2574,
      "end": 2575,
      "loc": {
        "start": {
          "line": 91,
          "column": 10
        },
        "end": {
          "line": 91,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 2575,
      "end": 2584,
      "loc": {
        "start": {
          "line": 91,
          "column": 11
        },
        "end": {
          "line": 91,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2589,
      "end": 2590,
      "loc": {
        "start": {
          "line": 92,
          "column": 4
        },
        "end": {
          "line": 92,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2590,
      "end": 2591,
      "loc": {
        "start": {
          "line": 92,
          "column": 5
        },
        "end": {
          "line": 92,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {GenreStationFetcher}\n     ",
      "start": 2597,
      "end": 2643,
      "loc": {
        "start": {
          "line": 94,
          "column": 4
        },
        "end": {
          "line": 96,
          "column": 7
        }
      }
    },
    {
      "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": 2648,
      "end": 2652,
      "loc": {
        "start": {
          "line": 97,
          "column": 4
        },
        "end": {
          "line": 97,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2652,
      "end": 2653,
      "loc": {
        "start": {
          "line": 97,
          "column": 8
        },
        "end": {
          "line": 97,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "genreStationFetcher",
      "start": 2653,
      "end": 2672,
      "loc": {
        "start": {
          "line": 97,
          "column": 9
        },
        "end": {
          "line": 97,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2673,
      "end": 2674,
      "loc": {
        "start": {
          "line": 97,
          "column": 29
        },
        "end": {
          "line": 97,
          "column": 30
        }
      }
    },
    {
      "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": 2675,
      "end": 2678,
      "loc": {
        "start": {
          "line": 97,
          "column": 31
        },
        "end": {
          "line": 97,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "GenreStationFetcher",
      "start": 2679,
      "end": 2698,
      "loc": {
        "start": {
          "line": 97,
          "column": 35
        },
        "end": {
          "line": 97,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2698,
      "end": 2699,
      "loc": {
        "start": {
          "line": 97,
          "column": 54
        },
        "end": {
          "line": 97,
          "column": 55
        }
      }
    },
    {
      "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": 2706,
      "end": 2710,
      "loc": {
        "start": {
          "line": 98,
          "column": 6
        },
        "end": {
          "line": 98,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2710,
      "end": 2711,
      "loc": {
        "start": {
          "line": 98,
          "column": 10
        },
        "end": {
          "line": 98,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "httpClient",
      "start": 2711,
      "end": 2721,
      "loc": {
        "start": {
          "line": 98,
          "column": 11
        },
        "end": {
          "line": 98,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2721,
      "end": 2722,
      "loc": {
        "start": {
          "line": 98,
          "column": 21
        },
        "end": {
          "line": 98,
          "column": 22
        }
      }
    },
    {
      "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": 2729,
      "end": 2733,
      "loc": {
        "start": {
          "line": 99,
          "column": 6
        },
        "end": {
          "line": 99,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2733,
      "end": 2734,
      "loc": {
        "start": {
          "line": 99,
          "column": 10
        },
        "end": {
          "line": 99,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 2734,
      "end": 2743,
      "loc": {
        "start": {
          "line": 99,
          "column": 11
        },
        "end": {
          "line": 99,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2748,
      "end": 2749,
      "loc": {
        "start": {
          "line": 100,
          "column": 4
        },
        "end": {
          "line": 100,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2749,
      "end": 2750,
      "loc": {
        "start": {
          "line": 100,
          "column": 5
        },
        "end": {
          "line": 100,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {MoodStationFetcher}\n     ",
      "start": 2756,
      "end": 2801,
      "loc": {
        "start": {
          "line": 102,
          "column": 4
        },
        "end": {
          "line": 104,
          "column": 7
        }
      }
    },
    {
      "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": 2806,
      "end": 2810,
      "loc": {
        "start": {
          "line": 105,
          "column": 4
        },
        "end": {
          "line": 105,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2810,
      "end": 2811,
      "loc": {
        "start": {
          "line": 105,
          "column": 8
        },
        "end": {
          "line": 105,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moodStationFetcher",
      "start": 2811,
      "end": 2829,
      "loc": {
        "start": {
          "line": 105,
          "column": 9
        },
        "end": {
          "line": 105,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2830,
      "end": 2831,
      "loc": {
        "start": {
          "line": 105,
          "column": 28
        },
        "end": {
          "line": 105,
          "column": 29
        }
      }
    },
    {
      "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": 2832,
      "end": 2835,
      "loc": {
        "start": {
          "line": 105,
          "column": 30
        },
        "end": {
          "line": 105,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "MoodStationFetcher",
      "start": 2836,
      "end": 2854,
      "loc": {
        "start": {
          "line": 105,
          "column": 34
        },
        "end": {
          "line": 105,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2854,
      "end": 2855,
      "loc": {
        "start": {
          "line": 105,
          "column": 52
        },
        "end": {
          "line": 105,
          "column": 53
        }
      }
    },
    {
      "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": 2862,
      "end": 2866,
      "loc": {
        "start": {
          "line": 106,
          "column": 6
        },
        "end": {
          "line": 106,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2866,
      "end": 2867,
      "loc": {
        "start": {
          "line": 106,
          "column": 10
        },
        "end": {
          "line": 106,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "httpClient",
      "start": 2867,
      "end": 2877,
      "loc": {
        "start": {
          "line": 106,
          "column": 11
        },
        "end": {
          "line": 106,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2877,
      "end": 2878,
      "loc": {
        "start": {
          "line": 106,
          "column": 21
        },
        "end": {
          "line": 106,
          "column": 22
        }
      }
    },
    {
      "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": 2885,
      "end": 2889,
      "loc": {
        "start": {
          "line": 107,
          "column": 6
        },
        "end": {
          "line": 107,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2889,
      "end": 2890,
      "loc": {
        "start": {
          "line": 107,
          "column": 10
        },
        "end": {
          "line": 107,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 2890,
      "end": 2899,
      "loc": {
        "start": {
          "line": 107,
          "column": 11
        },
        "end": {
          "line": 107,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2904,
      "end": 2905,
      "loc": {
        "start": {
          "line": 108,
          "column": 4
        },
        "end": {
          "line": 108,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2905,
      "end": 2906,
      "loc": {
        "start": {
          "line": 108,
          "column": 5
        },
        "end": {
          "line": 108,
          "column": 6
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {ChartFetcher}\n     ",
      "start": 2912,
      "end": 2951,
      "loc": {
        "start": {
          "line": 110,
          "column": 4
        },
        "end": {
          "line": 112,
          "column": 7
        }
      }
    },
    {
      "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": 2956,
      "end": 2960,
      "loc": {
        "start": {
          "line": 113,
          "column": 4
        },
        "end": {
          "line": 113,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2960,
      "end": 2961,
      "loc": {
        "start": {
          "line": 113,
          "column": 8
        },
        "end": {
          "line": 113,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "chartFetcher",
      "start": 2961,
      "end": 2973,
      "loc": {
        "start": {
          "line": 113,
          "column": 9
        },
        "end": {
          "line": 113,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2974,
      "end": 2975,
      "loc": {
        "start": {
          "line": 113,
          "column": 22
        },
        "end": {
          "line": 113,
          "column": 23
        }
      }
    },
    {
      "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": 2976,
      "end": 2979,
      "loc": {
        "start": {
          "line": 113,
          "column": 24
        },
        "end": {
          "line": 113,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ChartFetcher",
      "start": 2980,
      "end": 2992,
      "loc": {
        "start": {
          "line": 113,
          "column": 28
        },
        "end": {
          "line": 113,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2992,
      "end": 2993,
      "loc": {
        "start": {
          "line": 113,
          "column": 40
        },
        "end": {
          "line": 113,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2993,
      "end": 2997,
      "loc": {
        "start": {
          "line": 113,
          "column": 41
        },
        "end": {
          "line": 113,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2997,
      "end": 2998,
      "loc": {
        "start": {
          "line": 113,
          "column": 45
        },
        "end": {
          "line": 113,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "httpClient",
      "start": 2998,
      "end": 3008,
      "loc": {
        "start": {
          "line": 113,
          "column": 46
        },
        "end": {
          "line": 113,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3008,
      "end": 3009,
      "loc": {
        "start": {
          "line": 113,
          "column": 56
        },
        "end": {
          "line": 113,
          "column": 57
        }
      }
    },
    {
      "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": 3010,
      "end": 3014,
      "loc": {
        "start": {
          "line": 113,
          "column": 58
        },
        "end": {
          "line": 113,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3014,
      "end": 3015,
      "loc": {
        "start": {
          "line": 113,
          "column": 62
        },
        "end": {
          "line": 113,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 3015,
      "end": 3024,
      "loc": {
        "start": {
          "line": 113,
          "column": 63
        },
        "end": {
          "line": 113,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3024,
      "end": 3025,
      "loc": {
        "start": {
          "line": 113,
          "column": 72
        },
        "end": {
          "line": 113,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3025,
      "end": 3026,
      "loc": {
        "start": {
          "line": 113,
          "column": 73
        },
        "end": {
          "line": 113,
          "column": 74
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * @type {SharedPlaylistFetcher}\n     ",
      "start": 3032,
      "end": 3080,
      "loc": {
        "start": {
          "line": 115,
          "column": 4
        },
        "end": {
          "line": 117,
          "column": 7
        }
      }
    },
    {
      "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": 3085,
      "end": 3089,
      "loc": {
        "start": {
          "line": 118,
          "column": 4
        },
        "end": {
          "line": 118,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3089,
      "end": 3090,
      "loc": {
        "start": {
          "line": 118,
          "column": 8
        },
        "end": {
          "line": 118,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "sharedPlaylistFetcher",
      "start": 3090,
      "end": 3111,
      "loc": {
        "start": {
          "line": 118,
          "column": 9
        },
        "end": {
          "line": 118,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3112,
      "end": 3113,
      "loc": {
        "start": {
          "line": 118,
          "column": 31
        },
        "end": {
          "line": 118,
          "column": 32
        }
      }
    },
    {
      "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": 3114,
      "end": 3117,
      "loc": {
        "start": {
          "line": 118,
          "column": 33
        },
        "end": {
          "line": 118,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SharedPlaylistFetcher",
      "start": 3118,
      "end": 3139,
      "loc": {
        "start": {
          "line": 118,
          "column": 37
        },
        "end": {
          "line": 118,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3139,
      "end": 3140,
      "loc": {
        "start": {
          "line": 118,
          "column": 58
        },
        "end": {
          "line": 118,
          "column": 59
        }
      }
    },
    {
      "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": 3147,
      "end": 3151,
      "loc": {
        "start": {
          "line": 119,
          "column": 6
        },
        "end": {
          "line": 119,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3151,
      "end": 3152,
      "loc": {
        "start": {
          "line": 119,
          "column": 10
        },
        "end": {
          "line": 119,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "httpClient",
      "start": 3152,
      "end": 3162,
      "loc": {
        "start": {
          "line": 119,
          "column": 11
        },
        "end": {
          "line": 119,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3162,
      "end": 3163,
      "loc": {
        "start": {
          "line": 119,
          "column": 21
        },
        "end": {
          "line": 119,
          "column": 22
        }
      }
    },
    {
      "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": 3170,
      "end": 3174,
      "loc": {
        "start": {
          "line": 120,
          "column": 6
        },
        "end": {
          "line": 120,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3174,
      "end": 3175,
      "loc": {
        "start": {
          "line": 120,
          "column": 10
        },
        "end": {
          "line": 120,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "territory",
      "start": 3175,
      "end": 3184,
      "loc": {
        "start": {
          "line": 120,
          "column": 11
        },
        "end": {
          "line": 120,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3189,
      "end": 3190,
      "loc": {
        "start": {
          "line": 121,
          "column": 4
        },
        "end": {
          "line": 121,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3190,
      "end": 3191,
      "loc": {
        "start": {
          "line": 121,
          "column": 5
        },
        "end": {
          "line": 121,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3194,
      "end": 3195,
      "loc": {
        "start": {
          "line": 122,
          "column": 2
        },
        "end": {
          "line": 122,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3196,
      "end": 3197,
      "loc": {
        "start": {
          "line": 123,
          "column": 0
        },
        "end": {
          "line": 123,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3198,
      "end": 3198,
      "loc": {
        "start": {
          "line": 124,
          "column": 0
        },
        "end": {
          "line": 124,
          "column": 0
        }
      }
    }
  ]
}