{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Subscriber",
            "range": [
              9,
              19
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Subscriber",
            "range": [
              9,
              19
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 19
              }
            }
          },
          "range": [
            9,
            19
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 19
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../Subscriber",
        "raw": "'../Subscriber'",
        "range": [
          27,
          42
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 27
          },
          "end": {
            "line": 1,
            "column": 42
          }
        }
      },
      "range": [
        0,
        43
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 43
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "EmptyError",
            "range": [
              53,
              63
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "EmptyError",
            "range": [
              53,
              63
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 19
              }
            }
          },
          "range": [
            53,
            63
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 19
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/EmptyError",
        "raw": "'../util/EmptyError'",
        "range": [
          71,
          91
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 27
          },
          "end": {
            "line": 2,
            "column": 47
          }
        }
      },
      "range": [
        44,
        92
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 48
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": " tslint:disable:max-line-length ",
          "range": [
            93,
            129
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 3,
              "column": 36
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "FunctionDeclaration",
        "id": {
          "type": "Identifier",
          "name": "first",
          "range": [
            146,
            151
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 16
            },
            "end": {
              "line": 4,
              "column": 21
            }
          }
        },
        "params": [
          {
            "type": "Identifier",
            "name": "predicate",
            "range": [
              152,
              161
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 22
              },
              "end": {
                "line": 4,
                "column": 31
              }
            }
          },
          {
            "type": "Identifier",
            "name": "resultSelector",
            "range": [
              163,
              177
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 33
              },
              "end": {
                "line": 4,
                "column": 47
              }
            }
          },
          {
            "type": "Identifier",
            "name": "defaultValue",
            "range": [
              179,
              191
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 49
              },
              "end": {
                "line": 4,
                "column": 61
              }
            }
          }
        ],
        "body": {
          "type": "BlockStatement",
          "body": [
            {
              "type": "ReturnStatement",
              "argument": {
                "type": "CallExpression",
                "callee": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "ThisExpression",
                    "range": [
                      206,
                      210
                    ],
                    "loc": {
                      "start": {
                        "line": 5,
                        "column": 11
                      },
                      "end": {
                        "line": 5,
                        "column": 15
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "lift",
                    "range": [
                      211,
                      215
                    ],
                    "loc": {
                      "start": {
                        "line": 5,
                        "column": 16
                      },
                      "end": {
                        "line": 5,
                        "column": 20
                      }
                    }
                  },
                  "range": [
                    206,
                    215
                  ],
                  "loc": {
                    "start": {
                      "line": 5,
                      "column": 11
                    },
                    "end": {
                      "line": 5,
                      "column": 20
                    }
                  }
                },
                "arguments": [
                  {
                    "type": "NewExpression",
                    "callee": {
                      "type": "Identifier",
                      "name": "FirstOperator",
                      "range": [
                        220,
                        233
                      ],
                      "loc": {
                        "start": {
                          "line": 5,
                          "column": 25
                        },
                        "end": {
                          "line": 5,
                          "column": 38
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "predicate",
                        "range": [
                          234,
                          243
                        ],
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 39
                          },
                          "end": {
                            "line": 5,
                            "column": 48
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "resultSelector",
                        "range": [
                          245,
                          259
                        ],
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 50
                          },
                          "end": {
                            "line": 5,
                            "column": 64
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "defaultValue",
                        "range": [
                          261,
                          273
                        ],
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 66
                          },
                          "end": {
                            "line": 5,
                            "column": 78
                          }
                        }
                      },
                      {
                        "type": "ThisExpression",
                        "range": [
                          275,
                          279
                        ],
                        "loc": {
                          "start": {
                            "line": 5,
                            "column": 80
                          },
                          "end": {
                            "line": 5,
                            "column": 84
                          }
                        }
                      }
                    ],
                    "range": [
                      216,
                      280
                    ],
                    "loc": {
                      "start": {
                        "line": 5,
                        "column": 21
                      },
                      "end": {
                        "line": 5,
                        "column": 85
                      }
                    }
                  }
                ],
                "range": [
                  206,
                  281
                ],
                "loc": {
                  "start": {
                    "line": 5,
                    "column": 11
                  },
                  "end": {
                    "line": 5,
                    "column": 86
                  }
                }
              },
              "range": [
                199,
                282
              ],
              "loc": {
                "start": {
                  "line": 5,
                  "column": 4
                },
                "end": {
                  "line": 5,
                  "column": 87
                }
              }
            }
          ],
          "range": [
            193,
            284
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 63
            },
            "end": {
              "line": 6,
              "column": 1
            }
          }
        },
        "generator": false,
        "expression": false,
        "range": [
          137,
          284
        ],
        "loc": {
          "start": {
            "line": 4,
            "column": 7
          },
          "end": {
            "line": 6,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": " tslint:disable:max-line-length ",
            "range": [
              93,
              129
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 0
              },
              "end": {
                "line": 3,
                "column": 36
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        130,
        284
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": " tslint:disable:max-line-length ",
          "range": [
            93,
            129
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 3,
              "column": 36
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "FirstOperator",
            "range": [
              289,
              302
            ],
            "loc": {
              "start": {
                "line": 7,
                "column": 4
              },
              "end": {
                "line": 7,
                "column": 17
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "FirstOperator",
                      "range": [
                        333,
                        346
                      ],
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 13
                        },
                        "end": {
                          "line": 8,
                          "column": 26
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "predicate",
                        "range": [
                          347,
                          356
                        ],
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 27
                          },
                          "end": {
                            "line": 8,
                            "column": 36
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "resultSelector",
                        "range": [
                          358,
                          372
                        ],
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 38
                          },
                          "end": {
                            "line": 8,
                            "column": 52
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "defaultValue",
                        "range": [
                          374,
                          386
                        ],
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 54
                          },
                          "end": {
                            "line": 8,
                            "column": 66
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "source",
                        "range": [
                          388,
                          394
                        ],
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 68
                          },
                          "end": {
                            "line": 8,
                            "column": 74
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  406,
                                  410
                                ],
                                "loc": {
                                  "start": {
                                    "line": 9,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 9,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "predicate",
                                "range": [
                                  411,
                                  420
                                ],
                                "loc": {
                                  "start": {
                                    "line": 9,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 9,
                                    "column": 22
                                  }
                                }
                              },
                              "range": [
                                406,
                                420
                              ],
                              "loc": {
                                "start": {
                                  "line": 9,
                                  "column": 8
                                },
                                "end": {
                                  "line": 9,
                                  "column": 22
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "predicate",
                              "range": [
                                423,
                                432
                              ],
                              "loc": {
                                "start": {
                                  "line": 9,
                                  "column": 25
                                },
                                "end": {
                                  "line": 9,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              406,
                              432
                            ],
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 8
                              },
                              "end": {
                                "line": 9,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            406,
                            433
                          ],
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 8
                            },
                            "end": {
                              "line": 9,
                              "column": 35
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  442,
                                  446
                                ],
                                "loc": {
                                  "start": {
                                    "line": 10,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 10,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "resultSelector",
                                "range": [
                                  447,
                                  461
                                ],
                                "loc": {
                                  "start": {
                                    "line": 10,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 10,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                442,
                                461
                              ],
                              "loc": {
                                "start": {
                                  "line": 10,
                                  "column": 8
                                },
                                "end": {
                                  "line": 10,
                                  "column": 27
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "resultSelector",
                              "range": [
                                464,
                                478
                              ],
                              "loc": {
                                "start": {
                                  "line": 10,
                                  "column": 30
                                },
                                "end": {
                                  "line": 10,
                                  "column": 44
                                }
                              }
                            },
                            "range": [
                              442,
                              478
                            ],
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 8
                              },
                              "end": {
                                "line": 10,
                                "column": 44
                              }
                            }
                          },
                          "range": [
                            442,
                            479
                          ],
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 8
                            },
                            "end": {
                              "line": 10,
                              "column": 45
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  488,
                                  492
                                ],
                                "loc": {
                                  "start": {
                                    "line": 11,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 11,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "defaultValue",
                                "range": [
                                  493,
                                  505
                                ],
                                "loc": {
                                  "start": {
                                    "line": 11,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 11,
                                    "column": 25
                                  }
                                }
                              },
                              "range": [
                                488,
                                505
                              ],
                              "loc": {
                                "start": {
                                  "line": 11,
                                  "column": 8
                                },
                                "end": {
                                  "line": 11,
                                  "column": 25
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "defaultValue",
                              "range": [
                                508,
                                520
                              ],
                              "loc": {
                                "start": {
                                  "line": 11,
                                  "column": 28
                                },
                                "end": {
                                  "line": 11,
                                  "column": 40
                                }
                              }
                            },
                            "range": [
                              488,
                              520
                            ],
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 8
                              },
                              "end": {
                                "line": 11,
                                "column": 40
                              }
                            }
                          },
                          "range": [
                            488,
                            521
                          ],
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 8
                            },
                            "end": {
                              "line": 11,
                              "column": 41
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  530,
                                  534
                                ],
                                "loc": {
                                  "start": {
                                    "line": 12,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 12,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "source",
                                "range": [
                                  535,
                                  541
                                ],
                                "loc": {
                                  "start": {
                                    "line": 12,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 12,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                530,
                                541
                              ],
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 8
                                },
                                "end": {
                                  "line": 12,
                                  "column": 19
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "source",
                              "range": [
                                544,
                                550
                              ],
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 22
                                },
                                "end": {
                                  "line": 12,
                                  "column": 28
                                }
                              }
                            },
                            "range": [
                              530,
                              550
                            ],
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 8
                              },
                              "end": {
                                "line": 12,
                                "column": 28
                              }
                            }
                          },
                          "range": [
                            530,
                            551
                          ],
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 8
                            },
                            "end": {
                              "line": 12,
                              "column": 29
                            }
                          }
                        }
                      ],
                      "range": [
                        396,
                        557
                      ],
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 76
                        },
                        "end": {
                          "line": 13,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      324,
                      557
                    ],
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 4
                      },
                      "end": {
                        "line": 13,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "FirstOperator",
                            "range": [
                              562,
                              575
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 4
                              },
                              "end": {
                                "line": 14,
                                "column": 17
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              576,
                              585
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 18
                              },
                              "end": {
                                "line": 14,
                                "column": 27
                              }
                            }
                          },
                          "range": [
                            562,
                            585
                          ],
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 4
                            },
                            "end": {
                              "line": 14,
                              "column": 27
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "call",
                          "range": [
                            586,
                            590
                          ],
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 28
                            },
                            "end": {
                              "line": 14,
                              "column": 32
                            }
                          }
                        },
                        "range": [
                          562,
                          590
                        ],
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 4
                          },
                          "end": {
                            "line": 14,
                            "column": 32
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "observer",
                            "range": [
                              603,
                              611
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 45
                              },
                              "end": {
                                "line": 14,
                                "column": 53
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "source",
                            "range": [
                              613,
                              619
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 55
                              },
                              "end": {
                                "line": 14,
                                "column": 61
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ReturnStatement",
                              "argument": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "source",
                                    "range": [
                                      638,
                                      644
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 15,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 15,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_subscribe",
                                    "range": [
                                      645,
                                      655
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 15,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 15,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    638,
                                    655
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 15,
                                      "column": 32
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "FirstSubscriber",
                                      "range": [
                                        660,
                                        675
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 15,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 15,
                                          "column": 52
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "observer",
                                        "range": [
                                          676,
                                          684
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 53
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 61
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            686,
                                            690
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 63
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 67
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "predicate",
                                          "range": [
                                            691,
                                            700
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 68
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 77
                                            }
                                          }
                                        },
                                        "range": [
                                          686,
                                          700
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 63
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 77
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            702,
                                            706
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 79
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 83
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "resultSelector",
                                          "range": [
                                            707,
                                            721
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 84
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 98
                                            }
                                          }
                                        },
                                        "range": [
                                          702,
                                          721
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 79
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 98
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            723,
                                            727
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 100
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 104
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "defaultValue",
                                          "range": [
                                            728,
                                            740
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 105
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 117
                                            }
                                          }
                                        },
                                        "range": [
                                          723,
                                          740
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 100
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 117
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            742,
                                            746
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 119
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 123
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "source",
                                          "range": [
                                            747,
                                            753
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 124
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 130
                                            }
                                          }
                                        },
                                        "range": [
                                          742,
                                          753
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 119
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 130
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      656,
                                      754
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 15,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 15,
                                        "column": 131
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  638,
                                  755
                                ],
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 132
                                  }
                                }
                              },
                              "range": [
                                631,
                                756
                              ],
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 8
                                },
                                "end": {
                                  "line": 15,
                                  "column": 133
                                }
                              }
                            }
                          ],
                          "range": [
                            621,
                            762
                          ],
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 63
                            },
                            "end": {
                              "line": 16,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          593,
                          762
                        ],
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 35
                          },
                          "end": {
                            "line": 16,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        562,
                        762
                      ],
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 4
                        },
                        "end": {
                          "line": 16,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      562,
                      763
                    ],
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 4
                      },
                      "end": {
                        "line": 16,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "FirstOperator",
                      "range": [
                        775,
                        788
                      ],
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 11
                        },
                        "end": {
                          "line": 17,
                          "column": 24
                        }
                      }
                    },
                    "range": [
                      768,
                      789
                    ],
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 4
                      },
                      "end": {
                        "line": 17,
                        "column": 25
                      }
                    }
                  }
                ],
                "range": [
                  318,
                  791
                ],
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 33
                  },
                  "end": {
                    "line": 18,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                306,
                791
              ],
              "loc": {
                "start": {
                  "line": 7,
                  "column": 21
                },
                "end": {
                  "line": 18,
                  "column": 1
                }
              }
            },
            "arguments": [],
            "range": [
              306,
              793
            ],
            "loc": {
              "start": {
                "line": 7,
                "column": 21
              },
              "end": {
                "line": 18,
                "column": 3
              }
            }
          },
          "range": [
            289,
            794
          ],
          "loc": {
            "start": {
              "line": 7,
              "column": 4
            },
            "end": {
              "line": 18,
              "column": 4
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        285,
        795
      ],
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 18,
          "column": 5
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            796,
            887
          ],
          "loc": {
            "start": {
              "line": 19,
              "column": 0
            },
            "end": {
              "line": 23,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "FirstSubscriber",
            "range": [
              892,
              907
            ],
            "loc": {
              "start": {
                "line": 24,
                "column": 4
              },
              "end": {
                "line": 24,
                "column": 19
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "_super",
                  "range": [
                    921,
                    927
                  ],
                  "loc": {
                    "start": {
                      "line": 24,
                      "column": 33
                    },
                    "end": {
                      "line": 24,
                      "column": 39
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "__extends",
                        "range": [
                          935,
                          944
                        ],
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 4
                          },
                          "end": {
                            "line": 25,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "FirstSubscriber",
                          "range": [
                            945,
                            960
                          ],
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 14
                            },
                            "end": {
                              "line": 25,
                              "column": 29
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "_super",
                          "range": [
                            962,
                            968
                          ],
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 31
                            },
                            "end": {
                              "line": 25,
                              "column": 37
                            }
                          }
                        }
                      ],
                      "range": [
                        935,
                        969
                      ],
                      "loc": {
                        "start": {
                          "line": 25,
                          "column": 4
                        },
                        "end": {
                          "line": 25,
                          "column": 38
                        }
                      }
                    },
                    "range": [
                      935,
                      970
                    ],
                    "loc": {
                      "start": {
                        "line": 25,
                        "column": 4
                      },
                      "end": {
                        "line": 25,
                        "column": 39
                      }
                    }
                  },
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "FirstSubscriber",
                      "range": [
                        984,
                        999
                      ],
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 13
                        },
                        "end": {
                          "line": 26,
                          "column": 28
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "destination",
                        "range": [
                          1000,
                          1011
                        ],
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 29
                          },
                          "end": {
                            "line": 26,
                            "column": 40
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "predicate",
                        "range": [
                          1013,
                          1022
                        ],
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 42
                          },
                          "end": {
                            "line": 26,
                            "column": 51
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "resultSelector",
                        "range": [
                          1024,
                          1038
                        ],
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 53
                          },
                          "end": {
                            "line": 26,
                            "column": 67
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "defaultValue",
                        "range": [
                          1040,
                          1052
                        ],
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 69
                          },
                          "end": {
                            "line": 26,
                            "column": 81
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "source",
                        "range": [
                          1054,
                          1060
                        ],
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 83
                          },
                          "end": {
                            "line": 26,
                            "column": 89
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "_super",
                                "range": [
                                  1072,
                                  1078
                                ],
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 14
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "call",
                                "range": [
                                  1079,
                                  1083
                                ],
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                1072,
                                1083
                              ],
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 8
                                },
                                "end": {
                                  "line": 27,
                                  "column": 19
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "range": [
                                  1084,
                                  1088
                                ],
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 24
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  1090,
                                  1101
                                ],
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 37
                                  }
                                }
                              }
                            ],
                            "range": [
                              1072,
                              1102
                            ],
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 8
                              },
                              "end": {
                                "line": 27,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            1072,
                            1103
                          ],
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 8
                            },
                            "end": {
                              "line": 27,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1112,
                                  1116
                                ],
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "predicate",
                                "range": [
                                  1117,
                                  1126
                                ],
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 22
                                  }
                                }
                              },
                              "range": [
                                1112,
                                1126
                              ],
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 8
                                },
                                "end": {
                                  "line": 28,
                                  "column": 22
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "predicate",
                              "range": [
                                1129,
                                1138
                              ],
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 25
                                },
                                "end": {
                                  "line": 28,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              1112,
                              1138
                            ],
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 8
                              },
                              "end": {
                                "line": 28,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            1112,
                            1139
                          ],
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 8
                            },
                            "end": {
                              "line": 28,
                              "column": 35
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1148,
                                  1152
                                ],
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "resultSelector",
                                "range": [
                                  1153,
                                  1167
                                ],
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                1148,
                                1167
                              ],
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 8
                                },
                                "end": {
                                  "line": 29,
                                  "column": 27
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "resultSelector",
                              "range": [
                                1170,
                                1184
                              ],
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 30
                                },
                                "end": {
                                  "line": 29,
                                  "column": 44
                                }
                              }
                            },
                            "range": [
                              1148,
                              1184
                            ],
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 8
                              },
                              "end": {
                                "line": 29,
                                "column": 44
                              }
                            }
                          },
                          "range": [
                            1148,
                            1185
                          ],
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 8
                            },
                            "end": {
                              "line": 29,
                              "column": 45
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1194,
                                  1198
                                ],
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "defaultValue",
                                "range": [
                                  1199,
                                  1211
                                ],
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 25
                                  }
                                }
                              },
                              "range": [
                                1194,
                                1211
                              ],
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 8
                                },
                                "end": {
                                  "line": 30,
                                  "column": 25
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "defaultValue",
                              "range": [
                                1214,
                                1226
                              ],
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 28
                                },
                                "end": {
                                  "line": 30,
                                  "column": 40
                                }
                              }
                            },
                            "range": [
                              1194,
                              1226
                            ],
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 8
                              },
                              "end": {
                                "line": 30,
                                "column": 40
                              }
                            }
                          },
                          "range": [
                            1194,
                            1227
                          ],
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 8
                            },
                            "end": {
                              "line": 30,
                              "column": 41
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1236,
                                  1240
                                ],
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "source",
                                "range": [
                                  1241,
                                  1247
                                ],
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                1236,
                                1247
                              ],
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 8
                                },
                                "end": {
                                  "line": 31,
                                  "column": 19
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "source",
                              "range": [
                                1250,
                                1256
                              ],
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 22
                                },
                                "end": {
                                  "line": 31,
                                  "column": 28
                                }
                              }
                            },
                            "range": [
                              1236,
                              1256
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 8
                              },
                              "end": {
                                "line": 31,
                                "column": 28
                              }
                            }
                          },
                          "range": [
                            1236,
                            1257
                          ],
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 8
                            },
                            "end": {
                              "line": 31,
                              "column": 29
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1266,
                                  1270
                                ],
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "index",
                                "range": [
                                  1271,
                                  1276
                                ],
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 18
                                  }
                                }
                              },
                              "range": [
                                1266,
                                1276
                              ],
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 8
                                },
                                "end": {
                                  "line": 32,
                                  "column": 18
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": 0,
                              "raw": "0",
                              "range": [
                                1279,
                                1280
                              ],
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 21
                                },
                                "end": {
                                  "line": 32,
                                  "column": 22
                                }
                              }
                            },
                            "range": [
                              1266,
                              1280
                            ],
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 8
                              },
                              "end": {
                                "line": 32,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            1266,
                            1281
                          ],
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 8
                            },
                            "end": {
                              "line": 32,
                              "column": 23
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1290,
                                  1294
                                ],
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "hasCompleted",
                                "range": [
                                  1295,
                                  1307
                                ],
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 25
                                  }
                                }
                              },
                              "range": [
                                1290,
                                1307
                              ],
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 8
                                },
                                "end": {
                                  "line": 33,
                                  "column": 25
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": false,
                              "raw": "false",
                              "range": [
                                1310,
                                1315
                              ],
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 28
                                },
                                "end": {
                                  "line": 33,
                                  "column": 33
                                }
                              }
                            },
                            "range": [
                              1290,
                              1315
                            ],
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 8
                              },
                              "end": {
                                "line": 33,
                                "column": 33
                              }
                            }
                          },
                          "range": [
                            1290,
                            1316
                          ],
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 34
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1325,
                                  1329
                                ],
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "_emitted",
                                "range": [
                                  1330,
                                  1338
                                ],
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 21
                                  }
                                }
                              },
                              "range": [
                                1325,
                                1338
                              ],
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 8
                                },
                                "end": {
                                  "line": 34,
                                  "column": 21
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": false,
                              "raw": "false",
                              "range": [
                                1341,
                                1346
                              ],
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 24
                                },
                                "end": {
                                  "line": 34,
                                  "column": 29
                                }
                              }
                            },
                            "range": [
                              1325,
                              1346
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 8
                              },
                              "end": {
                                "line": 34,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            1325,
                            1347
                          ],
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 30
                            }
                          }
                        }
                      ],
                      "range": [
                        1062,
                        1353
                      ],
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 91
                        },
                        "end": {
                          "line": 35,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      975,
                      1353
                    ],
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 4
                      },
                      "end": {
                        "line": 35,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "FirstSubscriber",
                            "range": [
                              1358,
                              1373
                            ],
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 4
                              },
                              "end": {
                                "line": 36,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              1374,
                              1383
                            ],
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 20
                              },
                              "end": {
                                "line": 36,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            1358,
                            1383
                          ],
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 4
                            },
                            "end": {
                              "line": 36,
                              "column": 29
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_next",
                          "range": [
                            1384,
                            1389
                          ],
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 30
                            },
                            "end": {
                              "line": 36,
                              "column": 35
                            }
                          }
                        },
                        "range": [
                          1358,
                          1389
                        ],
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 4
                          },
                          "end": {
                            "line": 36,
                            "column": 35
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              1402,
                              1407
                            ],
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 48
                              },
                              "end": {
                                "line": 36,
                                "column": 53
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "index",
                                    "range": [
                                      1423,
                                      1428
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 37,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 37,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "UpdateExpression",
                                    "operator": "++",
                                    "argument": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          1431,
                                          1435
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 37,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 37,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "index",
                                        "range": [
                                          1436,
                                          1441
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 37,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 37,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "range": [
                                        1431,
                                        1441
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 37,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 37,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "prefix": false,
                                    "range": [
                                      1431,
                                      1443
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 37,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 37,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    1423,
                                    1443
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 32
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                1419,
                                1444
                              ],
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 8
                                },
                                "end": {
                                  "line": 37,
                                  "column": 33
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    1457,
                                    1461
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "predicate",
                                  "range": [
                                    1462,
                                    1471
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 26
                                    }
                                  }
                                },
                                "range": [
                                  1457,
                                  1471
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 26
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1487,
                                            1491
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_tryPredicate",
                                          "range": [
                                            1492,
                                            1505
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 30
                                            }
                                          }
                                        },
                                        "range": [
                                          1487,
                                          1505
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 39,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 39,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "value",
                                          "range": [
                                            1506,
                                            1511
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 36
                                            }
                                          }
                                        },
                                        {
                                          "type": "Identifier",
                                          "name": "index",
                                          "range": [
                                            1513,
                                            1518
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 39,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 39,
                                              "column": 43
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        1487,
                                        1519
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 44
                                        }
                                      }
                                    },
                                    "range": [
                                      1487,
                                      1520
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 45
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1473,
                                  1530
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1558,
                                            1562
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 42,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 42,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_emit",
                                          "range": [
                                            1563,
                                            1568
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 42,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 42,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "range": [
                                          1558,
                                          1568
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 42,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 42,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "value",
                                          "range": [
                                            1569,
                                            1574
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 42,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 42,
                                              "column": 28
                                            }
                                          }
                                        },
                                        {
                                          "type": "Identifier",
                                          "name": "index",
                                          "range": [
                                            1576,
                                            1581
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 42,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 42,
                                              "column": 35
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        1558,
                                        1582
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 42,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 42,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "range": [
                                      1558,
                                      1583
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 37
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1544,
                                  1593
                                ],
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 9
                                  }
                                }
                              },
                              "range": [
                                1453,
                                1593
                              ],
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 8
                                },
                                "end": {
                                  "line": 43,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            1409,
                            1599
                          ],
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 55
                            },
                            "end": {
                              "line": 44,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          1392,
                          1599
                        ],
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 38
                          },
                          "end": {
                            "line": 44,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1358,
                        1599
                      ],
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 4
                        },
                        "end": {
                          "line": 44,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      1358,
                      1600
                    ],
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 4
                      },
                      "end": {
                        "line": 44,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "FirstSubscriber",
                            "range": [
                              1605,
                              1620
                            ],
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 4
                              },
                              "end": {
                                "line": 45,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              1621,
                              1630
                            ],
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 20
                              },
                              "end": {
                                "line": 45,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            1605,
                            1630
                          ],
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 4
                            },
                            "end": {
                              "line": 45,
                              "column": 29
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_tryPredicate",
                          "range": [
                            1631,
                            1644
                          ],
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 30
                            },
                            "end": {
                              "line": 45,
                              "column": 43
                            }
                          }
                        },
                        "range": [
                          1605,
                          1644
                        ],
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 4
                          },
                          "end": {
                            "line": 45,
                            "column": 43
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              1657,
                              1662
                            ],
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 56
                              },
                              "end": {
                                "line": 45,
                                "column": 61
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "index",
                            "range": [
                              1664,
                              1669
                            ],
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 63
                              },
                              "end": {
                                "line": 45,
                                "column": 68
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "result",
                                    "range": [
                                      1685,
                                      1691
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 46,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "init": null,
                                  "range": [
                                    1685,
                                    1691
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 18
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                1681,
                                1692
                              ],
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 8
                                },
                                "end": {
                                  "line": 46,
                                  "column": 19
                                }
                              }
                            },
                            {
                              "type": "TryStatement",
                              "block": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "result",
                                        "range": [
                                          1719,
                                          1725
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 48,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 48,
                                            "column": 18
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              1728,
                                              1732
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 48,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 48,
                                                "column": 25
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "predicate",
                                            "range": [
                                              1733,
                                              1742
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 48,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 48,
                                                "column": 35
                                              }
                                            }
                                          },
                                          "range": [
                                            1728,
                                            1742
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 48,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 48,
                                              "column": 35
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "value",
                                            "range": [
                                              1743,
                                              1748
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 48,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 48,
                                                "column": 41
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "index",
                                            "range": [
                                              1750,
                                              1755
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 48,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 48,
                                                "column": 48
                                              }
                                            }
                                          },
                                          {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                1757,
                                                1761
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 48,
                                                  "column": 50
                                                },
                                                "end": {
                                                  "line": 48,
                                                  "column": 54
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "source",
                                              "range": [
                                                1762,
                                                1768
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 48,
                                                  "column": 55
                                                },
                                                "end": {
                                                  "line": 48,
                                                  "column": 61
                                                }
                                              }
                                            },
                                            "range": [
                                              1757,
                                              1768
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 48,
                                                "column": 50
                                              },
                                              "end": {
                                                "line": 48,
                                                "column": 61
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          1728,
                                          1769
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 48,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 48,
                                            "column": 62
                                          }
                                        }
                                      },
                                      "range": [
                                        1719,
                                        1769
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 48,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 48,
                                          "column": 62
                                        }
                                      }
                                    },
                                    "range": [
                                      1719,
                                      1770
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 63
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1705,
                                  1780
                                ],
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 9
                                  }
                                }
                              },
                              "handler": {
                                "type": "CatchClause",
                                "param": {
                                  "type": "Identifier",
                                  "name": "err",
                                  "range": [
                                    1796,
                                    1799
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 18
                                    }
                                  }
                                },
                                "body": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                1815,
                                                1819
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 51,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 51,
                                                  "column": 16
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "destination",
                                              "range": [
                                                1820,
                                                1831
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 51,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 51,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "range": [
                                              1815,
                                              1831
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 51,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 51,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "error",
                                            "range": [
                                              1832,
                                              1837
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 51,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 51,
                                                "column": 34
                                              }
                                            }
                                          },
                                          "range": [
                                            1815,
                                            1837
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 51,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 51,
                                              "column": 34
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "err",
                                            "range": [
                                              1838,
                                              1841
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 51,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 51,
                                                "column": 38
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          1815,
                                          1842
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "range": [
                                        1815,
                                        1843
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 51,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 51,
                                          "column": 40
                                        }
                                      }
                                    },
                                    {
                                      "type": "ReturnStatement",
                                      "argument": null,
                                      "range": [
                                        1856,
                                        1863
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 19
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1801,
                                    1873
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  1789,
                                  1873
                                ],
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 9
                                  }
                                }
                              },
                              "finalizer": null,
                              "range": [
                                1701,
                                1873
                              ],
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 8
                                },
                                "end": {
                                  "line": 53,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "Identifier",
                                "name": "result",
                                "range": [
                                  1886,
                                  1892
                                ],
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 18
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1908,
                                            1912
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 55,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 55,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_emit",
                                          "range": [
                                            1913,
                                            1918
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 55,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 55,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "range": [
                                          1908,
                                          1918
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 55,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "value",
                                          "range": [
                                            1919,
                                            1924
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 55,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 55,
                                              "column": 28
                                            }
                                          }
                                        },
                                        {
                                          "type": "Identifier",
                                          "name": "index",
                                          "range": [
                                            1926,
                                            1931
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 55,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 55,
                                              "column": 35
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        1908,
                                        1932
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 55,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "range": [
                                      1908,
                                      1933
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 55,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 55,
                                        "column": 37
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1894,
                                  1943
                                ],
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                1882,
                                1943
                              ],
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 8
                                },
                                "end": {
                                  "line": 56,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            1671,
                            1949
                          ],
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 70
                            },
                            "end": {
                              "line": 57,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          1647,
                          1949
                        ],
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 46
                          },
                          "end": {
                            "line": 57,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1605,
                        1949
                      ],
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 4
                        },
                        "end": {
                          "line": 57,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      1605,
                      1950
                    ],
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 4
                      },
                      "end": {
                        "line": 57,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "FirstSubscriber",
                            "range": [
                              1955,
                              1970
                            ],
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 4
                              },
                              "end": {
                                "line": 58,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              1971,
                              1980
                            ],
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 20
                              },
                              "end": {
                                "line": 58,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            1955,
                            1980
                          ],
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 4
                            },
                            "end": {
                              "line": 58,
                              "column": 29
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_emit",
                          "range": [
                            1981,
                            1986
                          ],
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 30
                            },
                            "end": {
                              "line": 58,
                              "column": 35
                            }
                          }
                        },
                        "range": [
                          1955,
                          1986
                        ],
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 4
                          },
                          "end": {
                            "line": 58,
                            "column": 35
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              1999,
                              2004
                            ],
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 48
                              },
                              "end": {
                                "line": 58,
                                "column": 53
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "index",
                            "range": [
                              2006,
                              2011
                            ],
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 55
                              },
                              "end": {
                                "line": 58,
                                "column": 60
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    2027,
                                    2031
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "resultSelector",
                                  "range": [
                                    2032,
                                    2046
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 31
                                    }
                                  }
                                },
                                "range": [
                                  2027,
                                  2046
                                ],
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 31
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2062,
                                            2066
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 60,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_tryResultSelector",
                                          "range": [
                                            2067,
                                            2085
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 60,
                                              "column": 35
                                            }
                                          }
                                        },
                                        "range": [
                                          2062,
                                          2085
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 60,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 60,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "value",
                                          "range": [
                                            2086,
                                            2091
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 60,
                                              "column": 41
                                            }
                                          }
                                        },
                                        {
                                          "type": "Identifier",
                                          "name": "index",
                                          "range": [
                                            2093,
                                            2098
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 60,
                                              "column": 48
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2062,
                                        2099
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 60,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 60,
                                          "column": 49
                                        }
                                      }
                                    },
                                    "range": [
                                      2062,
                                      2100
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 60,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 60,
                                        "column": 50
                                      }
                                    }
                                  },
                                  {
                                    "type": "ReturnStatement",
                                    "argument": null,
                                    "range": [
                                      2113,
                                      2120
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 19
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2048,
                                  2130
                                ],
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                2023,
                                2130
                              ],
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 8
                                },
                                "end": {
                                  "line": 62,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      2139,
                                      2143
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 63,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 63,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_emitFinal",
                                    "range": [
                                      2144,
                                      2154
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 63,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 63,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "range": [
                                    2139,
                                    2154
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 23
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "value",
                                    "range": [
                                      2155,
                                      2160
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 63,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 63,
                                        "column": 29
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2139,
                                  2161
                                ],
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 30
                                  }
                                }
                              },
                              "range": [
                                2139,
                                2162
                              ],
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 8
                                },
                                "end": {
                                  "line": 63,
                                  "column": 31
                                }
                              }
                            }
                          ],
                          "range": [
                            2013,
                            2168
                          ],
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 62
                            },
                            "end": {
                              "line": 64,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          1989,
                          2168
                        ],
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 38
                          },
                          "end": {
                            "line": 64,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1955,
                        2168
                      ],
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 4
                        },
                        "end": {
                          "line": 64,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      1955,
                      2169
                    ],
                    "loc": {
                      "start": {
                        "line": 58,
                        "column": 4
                      },
                      "end": {
                        "line": 64,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "FirstSubscriber",
                            "range": [
                              2174,
                              2189
                            ],
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 4
                              },
                              "end": {
                                "line": 65,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2190,
                              2199
                            ],
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 20
                              },
                              "end": {
                                "line": 65,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            2174,
                            2199
                          ],
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 4
                            },
                            "end": {
                              "line": 65,
                              "column": 29
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_tryResultSelector",
                          "range": [
                            2200,
                            2218
                          ],
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 30
                            },
                            "end": {
                              "line": 65,
                              "column": 48
                            }
                          }
                        },
                        "range": [
                          2174,
                          2218
                        ],
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 4
                          },
                          "end": {
                            "line": 65,
                            "column": 48
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              2231,
                              2236
                            ],
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 61
                              },
                              "end": {
                                "line": 65,
                                "column": 66
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "index",
                            "range": [
                              2238,
                              2243
                            ],
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 68
                              },
                              "end": {
                                "line": 65,
                                "column": 73
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "result",
                                    "range": [
                                      2259,
                                      2265
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 66,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 66,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "init": null,
                                  "range": [
                                    2259,
                                    2265
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 18
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2255,
                                2266
                              ],
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 8
                                },
                                "end": {
                                  "line": 66,
                                  "column": 19
                                }
                              }
                            },
                            {
                              "type": "TryStatement",
                              "block": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "result",
                                        "range": [
                                          2293,
                                          2299
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 18
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              2302,
                                              2306
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 25
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "resultSelector",
                                            "range": [
                                              2307,
                                              2321
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 40
                                              }
                                            }
                                          },
                                          "range": [
                                            2302,
                                            2321
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 40
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "value",
                                            "range": [
                                              2322,
                                              2327
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 46
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "index",
                                            "range": [
                                              2329,
                                              2334
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 53
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2302,
                                          2335
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 54
                                          }
                                        }
                                      },
                                      "range": [
                                        2293,
                                        2335
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 68,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 68,
                                          "column": 54
                                        }
                                      }
                                    },
                                    "range": [
                                      2293,
                                      2336
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 68,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 68,
                                        "column": 55
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2279,
                                  2346
                                ],
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 9
                                  }
                                }
                              },
                              "handler": {
                                "type": "CatchClause",
                                "param": {
                                  "type": "Identifier",
                                  "name": "err",
                                  "range": [
                                    2362,
                                    2365
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 70,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 70,
                                      "column": 18
                                    }
                                  }
                                },
                                "body": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                2381,
                                                2385
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 71,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 71,
                                                  "column": 16
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "destination",
                                              "range": [
                                                2386,
                                                2397
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 71,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 71,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "range": [
                                              2381,
                                              2397
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 71,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 71,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "error",
                                            "range": [
                                              2398,
                                              2403
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 71,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 71,
                                                "column": 34
                                              }
                                            }
                                          },
                                          "range": [
                                            2381,
                                            2403
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 71,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 71,
                                              "column": 34
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "err",
                                            "range": [
                                              2404,
                                              2407
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 71,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 71,
                                                "column": 38
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2381,
                                          2408
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "range": [
                                        2381,
                                        2409
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 71,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 71,
                                          "column": 40
                                        }
                                      }
                                    },
                                    {
                                      "type": "ReturnStatement",
                                      "argument": null,
                                      "range": [
                                        2422,
                                        2429
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 72,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 72,
                                          "column": 19
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2367,
                                    2439
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 70,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  2355,
                                  2439
                                ],
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 9
                                  }
                                }
                              },
                              "finalizer": null,
                              "range": [
                                2275,
                                2439
                              ],
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 8
                                },
                                "end": {
                                  "line": 73,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      2448,
                                      2452
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_emitFinal",
                                    "range": [
                                      2453,
                                      2463
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "range": [
                                    2448,
                                    2463
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 23
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "result",
                                    "range": [
                                      2464,
                                      2470
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 30
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2448,
                                  2471
                                ],
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 31
                                  }
                                }
                              },
                              "range": [
                                2448,
                                2472
                              ],
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 8
                                },
                                "end": {
                                  "line": 74,
                                  "column": 32
                                }
                              }
                            }
                          ],
                          "range": [
                            2245,
                            2478
                          ],
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 75
                            },
                            "end": {
                              "line": 75,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2221,
                          2478
                        ],
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 51
                          },
                          "end": {
                            "line": 75,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2174,
                        2478
                      ],
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 4
                        },
                        "end": {
                          "line": 75,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2174,
                      2479
                    ],
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 4
                      },
                      "end": {
                        "line": 75,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "FirstSubscriber",
                            "range": [
                              2484,
                              2499
                            ],
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 4
                              },
                              "end": {
                                "line": 76,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2500,
                              2509
                            ],
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 20
                              },
                              "end": {
                                "line": 76,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            2484,
                            2509
                          ],
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 4
                            },
                            "end": {
                              "line": 76,
                              "column": 29
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_emitFinal",
                          "range": [
                            2510,
                            2520
                          ],
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 30
                            },
                            "end": {
                              "line": 76,
                              "column": 40
                            }
                          }
                        },
                        "range": [
                          2484,
                          2520
                        ],
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 4
                          },
                          "end": {
                            "line": 76,
                            "column": 40
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              2533,
                              2538
                            ],
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 53
                              },
                              "end": {
                                "line": 76,
                                "column": 58
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "destination",
                                    "range": [
                                      2554,
                                      2565
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 77,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 77,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2568,
                                        2572
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 77,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 77,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        2573,
                                        2584
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 77,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 77,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "range": [
                                      2568,
                                      2584
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 77,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 77,
                                        "column": 42
                                      }
                                    }
                                  },
                                  "range": [
                                    2554,
                                    2584
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 42
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2550,
                                2585
                              ],
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 8
                                },
                                "end": {
                                  "line": 77,
                                  "column": 43
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "UnaryExpression",
                                "operator": "!",
                                "argument": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      2599,
                                      2603
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_emitted",
                                    "range": [
                                      2604,
                                      2612
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "range": [
                                    2599,
                                    2612
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 26
                                    }
                                  }
                                },
                                "prefix": true,
                                "range": [
                                  2598,
                                  2612
                                ],
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 26
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2628,
                                            2632
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 79,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 79,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_emitted",
                                          "range": [
                                            2633,
                                            2641
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 79,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 79,
                                              "column": 25
                                            }
                                          }
                                        },
                                        "range": [
                                          2628,
                                          2641
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 79,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 79,
                                            "column": 25
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": true,
                                        "raw": "true",
                                        "range": [
                                          2644,
                                          2648
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 79,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 79,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "range": [
                                        2628,
                                        2648
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "range": [
                                      2628,
                                      2649
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 33
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "destination",
                                          "range": [
                                            2662,
                                            2673
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 80,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 80,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "next",
                                          "range": [
                                            2674,
                                            2678
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 80,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 80,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "range": [
                                          2662,
                                          2678
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 80,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 80,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "value",
                                          "range": [
                                            2679,
                                            2684
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 80,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 80,
                                              "column": 34
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2662,
                                        2685
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "range": [
                                      2662,
                                      2686
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 36
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "destination",
                                          "range": [
                                            2699,
                                            2710
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 81,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 81,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "complete",
                                          "range": [
                                            2711,
                                            2719
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 81,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 81,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "range": [
                                          2699,
                                          2719
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 81,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 81,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        2699,
                                        2721
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 81,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 81,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      2699,
                                      2722
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 35
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2735,
                                            2739
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 82,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 82,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "hasCompleted",
                                          "range": [
                                            2740,
                                            2752
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 82,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 82,
                                              "column": 29
                                            }
                                          }
                                        },
                                        "range": [
                                          2735,
                                          2752
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 29
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": true,
                                        "raw": "true",
                                        "range": [
                                          2755,
                                          2759
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 36
                                          }
                                        }
                                      },
                                      "range": [
                                        2735,
                                        2759
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 82,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 82,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "range": [
                                      2735,
                                      2760
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 37
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2614,
                                  2770
                                ],
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                2594,
                                2770
                              ],
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 8
                                },
                                "end": {
                                  "line": 83,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            2540,
                            2776
                          ],
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 60
                            },
                            "end": {
                              "line": 84,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2523,
                          2776
                        ],
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 43
                          },
                          "end": {
                            "line": 84,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2484,
                        2776
                      ],
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 4
                        },
                        "end": {
                          "line": 84,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2484,
                      2777
                    ],
                    "loc": {
                      "start": {
                        "line": 76,
                        "column": 4
                      },
                      "end": {
                        "line": 84,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "FirstSubscriber",
                            "range": [
                              2782,
                              2797
                            ],
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 4
                              },
                              "end": {
                                "line": 85,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2798,
                              2807
                            ],
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 20
                              },
                              "end": {
                                "line": 85,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            2782,
                            2807
                          ],
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 4
                            },
                            "end": {
                              "line": 85,
                              "column": 29
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_complete",
                          "range": [
                            2808,
                            2817
                          ],
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 30
                            },
                            "end": {
                              "line": 85,
                              "column": 39
                            }
                          }
                        },
                        "range": [
                          2782,
                          2817
                        ],
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 4
                          },
                          "end": {
                            "line": 85,
                            "column": 39
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "destination",
                                    "range": [
                                      2846,
                                      2857
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2860,
                                        2864
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        2865,
                                        2876
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "range": [
                                      2860,
                                      2876
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 42
                                      }
                                    }
                                  },
                                  "range": [
                                    2846,
                                    2876
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 86,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 86,
                                      "column": 42
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2842,
                                2877
                              ],
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 8
                                },
                                "end": {
                                  "line": 86,
                                  "column": 43
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "LogicalExpression",
                                "operator": "&&",
                                "left": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2891,
                                        2895
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 17
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "hasCompleted",
                                      "range": [
                                        2896,
                                        2908
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "range": [
                                      2891,
                                      2908
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    2890,
                                    2908
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 87,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 87,
                                      "column": 30
                                    }
                                  }
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "operator": "!==",
                                  "left": {
                                    "type": "UnaryExpression",
                                    "operator": "typeof",
                                    "argument": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          2919,
                                          2923
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 87,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 87,
                                            "column": 45
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "defaultValue",
                                        "range": [
                                          2924,
                                          2936
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 87,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 87,
                                            "column": 58
                                          }
                                        }
                                      },
                                      "range": [
                                        2919,
                                        2936
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 58
                                        }
                                      }
                                    },
                                    "prefix": true,
                                    "range": [
                                      2912,
                                      2936
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 58
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": "undefined",
                                    "raw": "'undefined'",
                                    "range": [
                                      2941,
                                      2952
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 74
                                      }
                                    }
                                  },
                                  "range": [
                                    2912,
                                    2952
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 87,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 87,
                                      "column": 74
                                    }
                                  }
                                },
                                "range": [
                                  2890,
                                  2952
                                ],
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 87,
                                    "column": 74
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "destination",
                                          "range": [
                                            2968,
                                            2979
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "next",
                                          "range": [
                                            2980,
                                            2984
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "range": [
                                          2968,
                                          2984
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 88,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 88,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              2985,
                                              2989
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 88,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 88,
                                                "column": 33
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "defaultValue",
                                            "range": [
                                              2990,
                                              3002
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 88,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 88,
                                                "column": 46
                                              }
                                            }
                                          },
                                          "range": [
                                            2985,
                                            3002
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 46
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2968,
                                        3003
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 47
                                        }
                                      }
                                    },
                                    "range": [
                                      2968,
                                      3004
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 48
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "destination",
                                          "range": [
                                            3017,
                                            3028
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "complete",
                                          "range": [
                                            3029,
                                            3037
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "range": [
                                          3017,
                                          3037
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 89,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 89,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        3017,
                                        3039
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 89,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 89,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      3017,
                                      3040
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 35
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2954,
                                  3050
                                ],
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 76
                                  },
                                  "end": {
                                    "line": 90,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": {
                                "type": "IfStatement",
                                "test": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3069,
                                        3073
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "hasCompleted",
                                      "range": [
                                        3074,
                                        3086
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "range": [
                                      3069,
                                      3086
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 35
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    3068,
                                    3086
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 91,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 35
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "destination",
                                            "range": [
                                              3102,
                                              3113
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 92,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 92,
                                                "column": 23
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "error",
                                            "range": [
                                              3114,
                                              3119
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 92,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 92,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "range": [
                                            3102,
                                            3119
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 29
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "NewExpression",
                                            "callee": {
                                              "type": "Identifier",
                                              "name": "EmptyError",
                                              "range": [
                                                3124,
                                                3134
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 92,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 44
                                                }
                                              }
                                            },
                                            "arguments": [],
                                            "range": [
                                              3120,
                                              3134
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 92,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 92,
                                                "column": 44
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          3102,
                                          3135
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 92,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 92,
                                            "column": 45
                                          }
                                        }
                                      },
                                      "range": [
                                        3102,
                                        3136
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 92,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 92,
                                          "column": 46
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3088,
                                    3146
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 91,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 93,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  3064,
                                  3146
                                ],
                                "loc": {
                                  "start": {
                                    "line": 91,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 9
                                  }
                                }
                              },
                              "range": [
                                2886,
                                3146
                              ],
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 8
                                },
                                "end": {
                                  "line": 93,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            2832,
                            3152
                          ],
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 54
                            },
                            "end": {
                              "line": 94,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2820,
                          3152
                        ],
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 42
                          },
                          "end": {
                            "line": 94,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2782,
                        3152
                      ],
                      "loc": {
                        "start": {
                          "line": 85,
                          "column": 4
                        },
                        "end": {
                          "line": 94,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2782,
                      3153
                    ],
                    "loc": {
                      "start": {
                        "line": 85,
                        "column": 4
                      },
                      "end": {
                        "line": 94,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "FirstSubscriber",
                      "range": [
                        3165,
                        3180
                      ],
                      "loc": {
                        "start": {
                          "line": 95,
                          "column": 11
                        },
                        "end": {
                          "line": 95,
                          "column": 26
                        }
                      }
                    },
                    "range": [
                      3158,
                      3181
                    ],
                    "loc": {
                      "start": {
                        "line": 95,
                        "column": 4
                      },
                      "end": {
                        "line": 95,
                        "column": 27
                      }
                    }
                  }
                ],
                "range": [
                  929,
                  3183
                ],
                "loc": {
                  "start": {
                    "line": 24,
                    "column": 41
                  },
                  "end": {
                    "line": 96,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                911,
                3183
              ],
              "loc": {
                "start": {
                  "line": 24,
                  "column": 23
                },
                "end": {
                  "line": 96,
                  "column": 1
                }
              }
            },
            "arguments": [
              {
                "type": "Identifier",
                "name": "Subscriber",
                "range": [
                  3184,
                  3194
                ],
                "loc": {
                  "start": {
                    "line": 96,
                    "column": 2
                  },
                  "end": {
                    "line": 96,
                    "column": 12
                  }
                }
              }
            ],
            "range": [
              911,
              3195
            ],
            "loc": {
              "start": {
                "line": 24,
                "column": 23
              },
              "end": {
                "line": 96,
                "column": 13
              }
            }
          },
          "range": [
            892,
            3196
          ],
          "loc": {
            "start": {
              "line": 24,
              "column": 4
            },
            "end": {
              "line": 96,
              "column": 14
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        888,
        3197
      ],
      "loc": {
        "start": {
          "line": 24,
          "column": 0
        },
        "end": {
          "line": 96,
          "column": 15
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            796,
            887
          ],
          "loc": {
            "start": {
              "line": 19,
              "column": 0
            },
            "end": {
              "line": 23,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=first.js.map",
          "range": [
            3198,
            3231
          ],
          "loc": {
            "start": {
              "line": 97,
              "column": 0
            },
            "end": {
              "line": 97,
              "column": 33
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    3197
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 96,
      "column": 15
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": " tslint:disable:max-line-length ",
      "range": [
        93,
        129
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 36
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
      "range": [
        796,
        887
      ],
      "loc": {
        "start": {
          "line": 19,
          "column": 0
        },
        "end": {
          "line": 23,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=first.js.map",
      "range": [
        3198,
        3231
      ],
      "loc": {
        "start": {
          "line": 97,
          "column": 0
        },
        "end": {
          "line": 97,
          "column": 33
        }
      }
    }
  ]
}