{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "async",
            "range": [
              9,
              14
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 14
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "async",
            "range": [
              9,
              14
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 14
              }
            }
          },
          "range": [
            9,
            14
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 14
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../scheduler/async",
        "raw": "'../scheduler/async'",
        "range": [
          22,
          42
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 22
          },
          "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": "isDate",
            "range": [
              53,
              59
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 15
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "isDate",
            "range": [
              53,
              59
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 15
              }
            }
          },
          "range": [
            53,
            59
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 15
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/isDate",
        "raw": "'../util/isDate'",
        "range": [
          67,
          83
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 23
          },
          "end": {
            "line": 2,
            "column": 39
          }
        }
      },
      "range": [
        44,
        84
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 40
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "OuterSubscriber",
            "range": [
              94,
              109
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 24
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "OuterSubscriber",
            "range": [
              94,
              109
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 24
              }
            }
          },
          "range": [
            94,
            109
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 9
            },
            "end": {
              "line": 3,
              "column": 24
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../OuterSubscriber",
        "raw": "'../OuterSubscriber'",
        "range": [
          117,
          137
        ],
        "loc": {
          "start": {
            "line": 3,
            "column": 32
          },
          "end": {
            "line": 3,
            "column": 52
          }
        }
      },
      "range": [
        85,
        138
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 53
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "subscribeToResult",
            "range": [
              148,
              165
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 26
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "subscribeToResult",
            "range": [
              148,
              165
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 26
              }
            }
          },
          "range": [
            148,
            165
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 9
            },
            "end": {
              "line": 4,
              "column": 26
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/subscribeToResult",
        "raw": "'../util/subscribeToResult'",
        "range": [
          173,
          200
        ],
        "loc": {
          "start": {
            "line": 4,
            "column": 34
          },
          "end": {
            "line": 4,
            "column": 61
          }
        }
      },
      "range": [
        139,
        201
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 62
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": " tslint:disable:max-line-length ",
          "range": [
            202,
            238
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 5,
              "column": 36
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "FunctionDeclaration",
        "id": {
          "type": "Identifier",
          "name": "timeoutWith",
          "range": [
            255,
            266
          ],
          "loc": {
            "start": {
              "line": 6,
              "column": 16
            },
            "end": {
              "line": 6,
              "column": 27
            }
          }
        },
        "params": [
          {
            "type": "Identifier",
            "name": "due",
            "range": [
              267,
              270
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 28
              },
              "end": {
                "line": 6,
                "column": 31
              }
            }
          },
          {
            "type": "Identifier",
            "name": "withObservable",
            "range": [
              272,
              286
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 33
              },
              "end": {
                "line": 6,
                "column": 47
              }
            }
          },
          {
            "type": "Identifier",
            "name": "scheduler",
            "range": [
              288,
              297
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 49
              },
              "end": {
                "line": 6,
                "column": 58
              }
            }
          }
        ],
        "body": {
          "type": "BlockStatement",
          "body": [
            {
              "type": "IfStatement",
              "test": {
                "type": "BinaryExpression",
                "operator": "===",
                "left": {
                  "type": "Identifier",
                  "name": "scheduler",
                  "range": [
                    309,
                    318
                  ],
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 8
                    },
                    "end": {
                      "line": 7,
                      "column": 17
                    }
                  }
                },
                "right": {
                  "type": "UnaryExpression",
                  "operator": "void",
                  "argument": {
                    "type": "Literal",
                    "value": 0,
                    "raw": "0",
                    "range": [
                      328,
                      329
                    ],
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 27
                      },
                      "end": {
                        "line": 7,
                        "column": 28
                      }
                    }
                  },
                  "prefix": true,
                  "range": [
                    323,
                    329
                  ],
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 22
                    },
                    "end": {
                      "line": 7,
                      "column": 28
                    }
                  }
                },
                "range": [
                  309,
                  329
                ],
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 8
                  },
                  "end": {
                    "line": 7,
                    "column": 28
                  }
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "name": "scheduler",
                        "range": [
                          333,
                          342
                        ],
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 32
                          },
                          "end": {
                            "line": 7,
                            "column": 41
                          }
                        }
                      },
                      "right": {
                        "type": "Identifier",
                        "name": "async",
                        "range": [
                          345,
                          350
                        ],
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 44
                          },
                          "end": {
                            "line": 7,
                            "column": 49
                          }
                        }
                      },
                      "range": [
                        333,
                        350
                      ],
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 32
                        },
                        "end": {
                          "line": 7,
                          "column": 49
                        }
                      }
                    },
                    "range": [
                      333,
                      351
                    ],
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 32
                      },
                      "end": {
                        "line": 7,
                        "column": 50
                      }
                    }
                  }
                ],
                "range": [
                  331,
                  353
                ],
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 30
                  },
                  "end": {
                    "line": 7,
                    "column": 52
                  }
                }
              },
              "alternate": null,
              "range": [
                305,
                353
              ],
              "loc": {
                "start": {
                  "line": 7,
                  "column": 4
                },
                "end": {
                  "line": 7,
                  "column": 52
                }
              }
            },
            {
              "type": "VariableDeclaration",
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "id": {
                    "type": "Identifier",
                    "name": "absoluteTimeout",
                    "range": [
                      362,
                      377
                    ],
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 8
                      },
                      "end": {
                        "line": 8,
                        "column": 23
                      }
                    }
                  },
                  "init": {
                    "type": "CallExpression",
                    "callee": {
                      "type": "Identifier",
                      "name": "isDate",
                      "range": [
                        380,
                        386
                      ],
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 26
                        },
                        "end": {
                          "line": 8,
                          "column": 32
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "due",
                        "range": [
                          387,
                          390
                        ],
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 33
                          },
                          "end": {
                            "line": 8,
                            "column": 36
                          }
                        }
                      }
                    ],
                    "range": [
                      380,
                      391
                    ],
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 26
                      },
                      "end": {
                        "line": 8,
                        "column": 37
                      }
                    }
                  },
                  "range": [
                    362,
                    391
                  ],
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 8
                    },
                    "end": {
                      "line": 8,
                      "column": 37
                    }
                  }
                }
              ],
              "kind": "var",
              "range": [
                358,
                392
              ],
              "loc": {
                "start": {
                  "line": 8,
                  "column": 4
                },
                "end": {
                  "line": 8,
                  "column": 38
                }
              }
            },
            {
              "type": "VariableDeclaration",
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "id": {
                    "type": "Identifier",
                    "name": "waitFor",
                    "range": [
                      401,
                      408
                    ],
                    "loc": {
                      "start": {
                        "line": 9,
                        "column": 8
                      },
                      "end": {
                        "line": 9,
                        "column": 15
                      }
                    }
                  },
                  "init": {
                    "type": "ConditionalExpression",
                    "test": {
                      "type": "Identifier",
                      "name": "absoluteTimeout",
                      "range": [
                        411,
                        426
                      ],
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 18
                        },
                        "end": {
                          "line": 9,
                          "column": 33
                        }
                      }
                    },
                    "consequent": {
                      "type": "BinaryExpression",
                      "operator": "-",
                      "left": {
                        "type": "UnaryExpression",
                        "operator": "+",
                        "argument": {
                          "type": "Identifier",
                          "name": "due",
                          "range": [
                            431,
                            434
                          ],
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 38
                            },
                            "end": {
                              "line": 9,
                              "column": 41
                            }
                          }
                        },
                        "prefix": true,
                        "range": [
                          430,
                          434
                        ],
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 37
                          },
                          "end": {
                            "line": 9,
                            "column": 41
                          }
                        }
                      },
                      "right": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "scheduler",
                            "range": [
                              437,
                              446
                            ],
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 44
                              },
                              "end": {
                                "line": 9,
                                "column": 53
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "now",
                            "range": [
                              447,
                              450
                            ],
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 54
                              },
                              "end": {
                                "line": 9,
                                "column": 57
                              }
                            }
                          },
                          "range": [
                            437,
                            450
                          ],
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 44
                            },
                            "end": {
                              "line": 9,
                              "column": 57
                            }
                          }
                        },
                        "arguments": [],
                        "range": [
                          437,
                          452
                        ],
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 44
                          },
                          "end": {
                            "line": 9,
                            "column": 59
                          }
                        }
                      },
                      "range": [
                        430,
                        452
                      ],
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 37
                        },
                        "end": {
                          "line": 9,
                          "column": 59
                        }
                      }
                    },
                    "alternate": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "Math",
                          "range": [
                            456,
                            460
                          ],
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 63
                            },
                            "end": {
                              "line": 9,
                              "column": 67
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "abs",
                          "range": [
                            461,
                            464
                          ],
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 68
                            },
                            "end": {
                              "line": 9,
                              "column": 71
                            }
                          }
                        },
                        "range": [
                          456,
                          464
                        ],
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 63
                          },
                          "end": {
                            "line": 9,
                            "column": 71
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "due",
                          "range": [
                            465,
                            468
                          ],
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 72
                            },
                            "end": {
                              "line": 9,
                              "column": 75
                            }
                          }
                        }
                      ],
                      "range": [
                        456,
                        469
                      ],
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 63
                        },
                        "end": {
                          "line": 9,
                          "column": 76
                        }
                      }
                    },
                    "range": [
                      411,
                      469
                    ],
                    "loc": {
                      "start": {
                        "line": 9,
                        "column": 18
                      },
                      "end": {
                        "line": 9,
                        "column": 76
                      }
                    }
                  },
                  "range": [
                    401,
                    469
                  ],
                  "loc": {
                    "start": {
                      "line": 9,
                      "column": 8
                    },
                    "end": {
                      "line": 9,
                      "column": 76
                    }
                  }
                }
              ],
              "kind": "var",
              "range": [
                397,
                470
              ],
              "loc": {
                "start": {
                  "line": 9,
                  "column": 4
                },
                "end": {
                  "line": 9,
                  "column": 77
                }
              }
            },
            {
              "type": "ReturnStatement",
              "argument": {
                "type": "CallExpression",
                "callee": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "ThisExpression",
                    "range": [
                      482,
                      486
                    ],
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 11
                      },
                      "end": {
                        "line": 10,
                        "column": 15
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "lift",
                    "range": [
                      487,
                      491
                    ],
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 16
                      },
                      "end": {
                        "line": 10,
                        "column": 20
                      }
                    }
                  },
                  "range": [
                    482,
                    491
                  ],
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 11
                    },
                    "end": {
                      "line": 10,
                      "column": 20
                    }
                  }
                },
                "arguments": [
                  {
                    "type": "NewExpression",
                    "callee": {
                      "type": "Identifier",
                      "name": "TimeoutWithOperator",
                      "range": [
                        496,
                        515
                      ],
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 25
                        },
                        "end": {
                          "line": 10,
                          "column": 44
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "waitFor",
                        "range": [
                          516,
                          523
                        ],
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 45
                          },
                          "end": {
                            "line": 10,
                            "column": 52
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "absoluteTimeout",
                        "range": [
                          525,
                          540
                        ],
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 54
                          },
                          "end": {
                            "line": 10,
                            "column": 69
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "withObservable",
                        "range": [
                          542,
                          556
                        ],
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 71
                          },
                          "end": {
                            "line": 10,
                            "column": 85
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "scheduler",
                        "range": [
                          558,
                          567
                        ],
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 87
                          },
                          "end": {
                            "line": 10,
                            "column": 96
                          }
                        }
                      }
                    ],
                    "range": [
                      492,
                      568
                    ],
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 21
                      },
                      "end": {
                        "line": 10,
                        "column": 97
                      }
                    }
                  }
                ],
                "range": [
                  482,
                  569
                ],
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 11
                  },
                  "end": {
                    "line": 10,
                    "column": 98
                  }
                }
              },
              "range": [
                475,
                570
              ],
              "loc": {
                "start": {
                  "line": 10,
                  "column": 4
                },
                "end": {
                  "line": 10,
                  "column": 99
                }
              }
            }
          ],
          "range": [
            299,
            572
          ],
          "loc": {
            "start": {
              "line": 6,
              "column": 60
            },
            "end": {
              "line": 11,
              "column": 1
            }
          }
        },
        "generator": false,
        "expression": false,
        "range": [
          246,
          572
        ],
        "loc": {
          "start": {
            "line": 6,
            "column": 7
          },
          "end": {
            "line": 11,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": " tslint:disable:max-line-length ",
            "range": [
              202,
              238
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 0
              },
              "end": {
                "line": 5,
                "column": 36
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        239,
        572
      ],
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 11,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": " tslint:disable:max-line-length ",
          "range": [
            202,
            238
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 5,
              "column": 36
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "TimeoutWithOperator",
            "range": [
              577,
              596
            ],
            "loc": {
              "start": {
                "line": 12,
                "column": 4
              },
              "end": {
                "line": 12,
                "column": 23
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "TimeoutWithOperator",
                      "range": [
                        627,
                        646
                      ],
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 13
                        },
                        "end": {
                          "line": 13,
                          "column": 32
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "waitFor",
                        "range": [
                          647,
                          654
                        ],
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 33
                          },
                          "end": {
                            "line": 13,
                            "column": 40
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "absoluteTimeout",
                        "range": [
                          656,
                          671
                        ],
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 42
                          },
                          "end": {
                            "line": 13,
                            "column": 57
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "withObservable",
                        "range": [
                          673,
                          687
                        ],
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 59
                          },
                          "end": {
                            "line": 13,
                            "column": 73
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "scheduler",
                        "range": [
                          689,
                          698
                        ],
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 75
                          },
                          "end": {
                            "line": 13,
                            "column": 84
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  710,
                                  714
                                ],
                                "loc": {
                                  "start": {
                                    "line": 14,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 14,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "waitFor",
                                "range": [
                                  715,
                                  722
                                ],
                                "loc": {
                                  "start": {
                                    "line": 14,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 14,
                                    "column": 20
                                  }
                                }
                              },
                              "range": [
                                710,
                                722
                              ],
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 8
                                },
                                "end": {
                                  "line": 14,
                                  "column": 20
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "waitFor",
                              "range": [
                                725,
                                732
                              ],
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 23
                                },
                                "end": {
                                  "line": 14,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              710,
                              732
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 8
                              },
                              "end": {
                                "line": 14,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            710,
                            733
                          ],
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 8
                            },
                            "end": {
                              "line": 14,
                              "column": 31
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  742,
                                  746
                                ],
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "absoluteTimeout",
                                "range": [
                                  747,
                                  762
                                ],
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 28
                                  }
                                }
                              },
                              "range": [
                                742,
                                762
                              ],
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 8
                                },
                                "end": {
                                  "line": 15,
                                  "column": 28
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "absoluteTimeout",
                              "range": [
                                765,
                                780
                              ],
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 31
                                },
                                "end": {
                                  "line": 15,
                                  "column": 46
                                }
                              }
                            },
                            "range": [
                              742,
                              780
                            ],
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 8
                              },
                              "end": {
                                "line": 15,
                                "column": 46
                              }
                            }
                          },
                          "range": [
                            742,
                            781
                          ],
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 8
                            },
                            "end": {
                              "line": 15,
                              "column": 47
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  790,
                                  794
                                ],
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "withObservable",
                                "range": [
                                  795,
                                  809
                                ],
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                790,
                                809
                              ],
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 8
                                },
                                "end": {
                                  "line": 16,
                                  "column": 27
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "withObservable",
                              "range": [
                                812,
                                826
                              ],
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 30
                                },
                                "end": {
                                  "line": 16,
                                  "column": 44
                                }
                              }
                            },
                            "range": [
                              790,
                              826
                            ],
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 8
                              },
                              "end": {
                                "line": 16,
                                "column": 44
                              }
                            }
                          },
                          "range": [
                            790,
                            827
                          ],
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 8
                            },
                            "end": {
                              "line": 16,
                              "column": 45
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  836,
                                  840
                                ],
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "scheduler",
                                "range": [
                                  841,
                                  850
                                ],
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 22
                                  }
                                }
                              },
                              "range": [
                                836,
                                850
                              ],
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 8
                                },
                                "end": {
                                  "line": 17,
                                  "column": 22
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "scheduler",
                              "range": [
                                853,
                                862
                              ],
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 25
                                },
                                "end": {
                                  "line": 17,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              836,
                              862
                            ],
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 8
                              },
                              "end": {
                                "line": 17,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            836,
                            863
                          ],
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 8
                            },
                            "end": {
                              "line": 17,
                              "column": 35
                            }
                          }
                        }
                      ],
                      "range": [
                        700,
                        869
                      ],
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 86
                        },
                        "end": {
                          "line": 18,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      618,
                      869
                    ],
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 4
                      },
                      "end": {
                        "line": 18,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TimeoutWithOperator",
                            "range": [
                              874,
                              893
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 4
                              },
                              "end": {
                                "line": 19,
                                "column": 23
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              894,
                              903
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 24
                              },
                              "end": {
                                "line": 19,
                                "column": 33
                              }
                            }
                          },
                          "range": [
                            874,
                            903
                          ],
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 4
                            },
                            "end": {
                              "line": 19,
                              "column": 33
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "call",
                          "range": [
                            904,
                            908
                          ],
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 34
                            },
                            "end": {
                              "line": 19,
                              "column": 38
                            }
                          }
                        },
                        "range": [
                          874,
                          908
                        ],
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 4
                          },
                          "end": {
                            "line": 19,
                            "column": 38
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "subscriber",
                            "range": [
                              921,
                              931
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 51
                              },
                              "end": {
                                "line": 19,
                                "column": 61
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "source",
                            "range": [
                              933,
                              939
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 63
                              },
                              "end": {
                                "line": 19,
                                "column": 69
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ReturnStatement",
                              "argument": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "source",
                                    "range": [
                                      958,
                                      964
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_subscribe",
                                    "range": [
                                      965,
                                      975
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    958,
                                    975
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 32
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "TimeoutWithSubscriber",
                                      "range": [
                                        980,
                                        1001
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 20,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 20,
                                          "column": 58
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "subscriber",
                                        "range": [
                                          1002,
                                          1012
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 20,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 20,
                                            "column": 69
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1014,
                                            1018
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 20,
                                              "column": 71
                                            },
                                            "end": {
                                              "line": 20,
                                              "column": 75
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "absoluteTimeout",
                                          "range": [
                                            1019,
                                            1034
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 20,
                                              "column": 76
                                            },
                                            "end": {
                                              "line": 20,
                                              "column": 91
                                            }
                                          }
                                        },
                                        "range": [
                                          1014,
                                          1034
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 20,
                                            "column": 71
                                          },
                                          "end": {
                                            "line": 20,
                                            "column": 91
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1036,
                                            1040
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 20,
                                              "column": 93
                                            },
                                            "end": {
                                              "line": 20,
                                              "column": 97
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "waitFor",
                                          "range": [
                                            1041,
                                            1048
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 20,
                                              "column": 98
                                            },
                                            "end": {
                                              "line": 20,
                                              "column": 105
                                            }
                                          }
                                        },
                                        "range": [
                                          1036,
                                          1048
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 20,
                                            "column": 93
                                          },
                                          "end": {
                                            "line": 20,
                                            "column": 105
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1050,
                                            1054
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 20,
                                              "column": 107
                                            },
                                            "end": {
                                              "line": 20,
                                              "column": 111
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "withObservable",
                                          "range": [
                                            1055,
                                            1069
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 20,
                                              "column": 112
                                            },
                                            "end": {
                                              "line": 20,
                                              "column": 126
                                            }
                                          }
                                        },
                                        "range": [
                                          1050,
                                          1069
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 20,
                                            "column": 107
                                          },
                                          "end": {
                                            "line": 20,
                                            "column": 126
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1071,
                                            1075
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 20,
                                              "column": 128
                                            },
                                            "end": {
                                              "line": 20,
                                              "column": 132
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "scheduler",
                                          "range": [
                                            1076,
                                            1085
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 20,
                                              "column": 133
                                            },
                                            "end": {
                                              "line": 20,
                                              "column": 142
                                            }
                                          }
                                        },
                                        "range": [
                                          1071,
                                          1085
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 20,
                                            "column": 128
                                          },
                                          "end": {
                                            "line": 20,
                                            "column": 142
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      976,
                                      1086
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 143
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  958,
                                  1087
                                ],
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 144
                                  }
                                }
                              },
                              "range": [
                                951,
                                1088
                              ],
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 8
                                },
                                "end": {
                                  "line": 20,
                                  "column": 145
                                }
                              }
                            }
                          ],
                          "range": [
                            941,
                            1094
                          ],
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 71
                            },
                            "end": {
                              "line": 21,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          911,
                          1094
                        ],
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 41
                          },
                          "end": {
                            "line": 21,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        874,
                        1094
                      ],
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 4
                        },
                        "end": {
                          "line": 21,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      874,
                      1095
                    ],
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 4
                      },
                      "end": {
                        "line": 21,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "TimeoutWithOperator",
                      "range": [
                        1107,
                        1126
                      ],
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 11
                        },
                        "end": {
                          "line": 22,
                          "column": 30
                        }
                      }
                    },
                    "range": [
                      1100,
                      1127
                    ],
                    "loc": {
                      "start": {
                        "line": 22,
                        "column": 4
                      },
                      "end": {
                        "line": 22,
                        "column": 31
                      }
                    }
                  }
                ],
                "range": [
                  612,
                  1129
                ],
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 39
                  },
                  "end": {
                    "line": 23,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                600,
                1129
              ],
              "loc": {
                "start": {
                  "line": 12,
                  "column": 27
                },
                "end": {
                  "line": 23,
                  "column": 1
                }
              }
            },
            "arguments": [],
            "range": [
              600,
              1131
            ],
            "loc": {
              "start": {
                "line": 12,
                "column": 27
              },
              "end": {
                "line": 23,
                "column": 3
              }
            }
          },
          "range": [
            577,
            1132
          ],
          "loc": {
            "start": {
              "line": 12,
              "column": 4
            },
            "end": {
              "line": 23,
              "column": 4
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        573,
        1133
      ],
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 23,
          "column": 5
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            1134,
            1225
          ],
          "loc": {
            "start": {
              "line": 24,
              "column": 0
            },
            "end": {
              "line": 28,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "TimeoutWithSubscriber",
            "range": [
              1230,
              1251
            ],
            "loc": {
              "start": {
                "line": 29,
                "column": 4
              },
              "end": {
                "line": 29,
                "column": 25
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "_super",
                  "range": [
                    1265,
                    1271
                  ],
                  "loc": {
                    "start": {
                      "line": 29,
                      "column": 39
                    },
                    "end": {
                      "line": 29,
                      "column": 45
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "__extends",
                        "range": [
                          1279,
                          1288
                        ],
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 4
                          },
                          "end": {
                            "line": 30,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "TimeoutWithSubscriber",
                          "range": [
                            1289,
                            1310
                          ],
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 14
                            },
                            "end": {
                              "line": 30,
                              "column": 35
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "_super",
                          "range": [
                            1312,
                            1318
                          ],
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 37
                            },
                            "end": {
                              "line": 30,
                              "column": 43
                            }
                          }
                        }
                      ],
                      "range": [
                        1279,
                        1319
                      ],
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 4
                        },
                        "end": {
                          "line": 30,
                          "column": 44
                        }
                      }
                    },
                    "range": [
                      1279,
                      1320
                    ],
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 4
                      },
                      "end": {
                        "line": 30,
                        "column": 45
                      }
                    }
                  },
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "TimeoutWithSubscriber",
                      "range": [
                        1334,
                        1355
                      ],
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 13
                        },
                        "end": {
                          "line": 31,
                          "column": 34
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "destination",
                        "range": [
                          1356,
                          1367
                        ],
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 35
                          },
                          "end": {
                            "line": 31,
                            "column": 46
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "absoluteTimeout",
                        "range": [
                          1369,
                          1384
                        ],
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 48
                          },
                          "end": {
                            "line": 31,
                            "column": 63
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "waitFor",
                        "range": [
                          1386,
                          1393
                        ],
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 65
                          },
                          "end": {
                            "line": 31,
                            "column": 72
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "withObservable",
                        "range": [
                          1395,
                          1409
                        ],
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 74
                          },
                          "end": {
                            "line": 31,
                            "column": 88
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "scheduler",
                        "range": [
                          1411,
                          1420
                        ],
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 90
                          },
                          "end": {
                            "line": 31,
                            "column": 99
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "_super",
                                "range": [
                                  1432,
                                  1438
                                ],
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 14
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "call",
                                "range": [
                                  1439,
                                  1443
                                ],
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                1432,
                                1443
                              ],
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 8
                                },
                                "end": {
                                  "line": 32,
                                  "column": 19
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "range": [
                                  1444,
                                  1448
                                ],
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 24
                                  }
                                }
                              }
                            ],
                            "range": [
                              1432,
                              1449
                            ],
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 8
                              },
                              "end": {
                                "line": 32,
                                "column": 25
                              }
                            }
                          },
                          "range": [
                            1432,
                            1450
                          ],
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 8
                            },
                            "end": {
                              "line": 32,
                              "column": 26
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1459,
                                  1463
                                ],
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  1464,
                                  1475
                                ],
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                1459,
                                1475
                              ],
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 8
                                },
                                "end": {
                                  "line": 33,
                                  "column": 24
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "destination",
                              "range": [
                                1478,
                                1489
                              ],
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 27
                                },
                                "end": {
                                  "line": 33,
                                  "column": 38
                                }
                              }
                            },
                            "range": [
                              1459,
                              1489
                            ],
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 8
                              },
                              "end": {
                                "line": 33,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            1459,
                            1490
                          ],
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1499,
                                  1503
                                ],
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "absoluteTimeout",
                                "range": [
                                  1504,
                                  1519
                                ],
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 28
                                  }
                                }
                              },
                              "range": [
                                1499,
                                1519
                              ],
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 8
                                },
                                "end": {
                                  "line": 34,
                                  "column": 28
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "absoluteTimeout",
                              "range": [
                                1522,
                                1537
                              ],
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 31
                                },
                                "end": {
                                  "line": 34,
                                  "column": 46
                                }
                              }
                            },
                            "range": [
                              1499,
                              1537
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 8
                              },
                              "end": {
                                "line": 34,
                                "column": 46
                              }
                            }
                          },
                          "range": [
                            1499,
                            1538
                          ],
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 47
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1547,
                                  1551
                                ],
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "waitFor",
                                "range": [
                                  1552,
                                  1559
                                ],
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 20
                                  }
                                }
                              },
                              "range": [
                                1547,
                                1559
                              ],
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 8
                                },
                                "end": {
                                  "line": 35,
                                  "column": 20
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "waitFor",
                              "range": [
                                1562,
                                1569
                              ],
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 23
                                },
                                "end": {
                                  "line": 35,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              1547,
                              1569
                            ],
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 8
                              },
                              "end": {
                                "line": 35,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            1547,
                            1570
                          ],
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 31
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1579,
                                  1583
                                ],
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "withObservable",
                                "range": [
                                  1584,
                                  1598
                                ],
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                1579,
                                1598
                              ],
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 8
                                },
                                "end": {
                                  "line": 36,
                                  "column": 27
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "withObservable",
                              "range": [
                                1601,
                                1615
                              ],
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 30
                                },
                                "end": {
                                  "line": 36,
                                  "column": 44
                                }
                              }
                            },
                            "range": [
                              1579,
                              1615
                            ],
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 8
                              },
                              "end": {
                                "line": 36,
                                "column": 44
                              }
                            }
                          },
                          "range": [
                            1579,
                            1616
                          ],
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 8
                            },
                            "end": {
                              "line": 36,
                              "column": 45
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1625,
                                  1629
                                ],
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "scheduler",
                                "range": [
                                  1630,
                                  1639
                                ],
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 22
                                  }
                                }
                              },
                              "range": [
                                1625,
                                1639
                              ],
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 8
                                },
                                "end": {
                                  "line": 37,
                                  "column": 22
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "scheduler",
                              "range": [
                                1642,
                                1651
                              ],
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 25
                                },
                                "end": {
                                  "line": 37,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              1625,
                              1651
                            ],
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 8
                              },
                              "end": {
                                "line": 37,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            1625,
                            1652
                          ],
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 8
                            },
                            "end": {
                              "line": 37,
                              "column": 35
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1661,
                                  1665
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "timeoutSubscription",
                                "range": [
                                  1666,
                                  1685
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 32
                                  }
                                }
                              },
                              "range": [
                                1661,
                                1685
                              ],
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 8
                                },
                                "end": {
                                  "line": 38,
                                  "column": 32
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "undefined",
                              "range": [
                                1688,
                                1697
                              ],
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 35
                                },
                                "end": {
                                  "line": 38,
                                  "column": 44
                                }
                              }
                            },
                            "range": [
                              1661,
                              1697
                            ],
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 8
                              },
                              "end": {
                                "line": 38,
                                "column": 44
                              }
                            }
                          },
                          "range": [
                            1661,
                            1698
                          ],
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 8
                            },
                            "end": {
                              "line": 38,
                              "column": 45
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1707,
                                  1711
                                ],
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "index",
                                "range": [
                                  1712,
                                  1717
                                ],
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 18
                                  }
                                }
                              },
                              "range": [
                                1707,
                                1717
                              ],
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 8
                                },
                                "end": {
                                  "line": 39,
                                  "column": 18
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": 0,
                              "raw": "0",
                              "range": [
                                1720,
                                1721
                              ],
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 21
                                },
                                "end": {
                                  "line": 39,
                                  "column": 22
                                }
                              }
                            },
                            "range": [
                              1707,
                              1721
                            ],
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 8
                              },
                              "end": {
                                "line": 39,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            1707,
                            1722
                          ],
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 8
                            },
                            "end": {
                              "line": 39,
                              "column": 23
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1731,
                                  1735
                                ],
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "_previousIndex",
                                "range": [
                                  1736,
                                  1750
                                ],
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                1731,
                                1750
                              ],
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 8
                                },
                                "end": {
                                  "line": 40,
                                  "column": 27
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": 0,
                              "raw": "0",
                              "range": [
                                1753,
                                1754
                              ],
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 30
                                },
                                "end": {
                                  "line": 40,
                                  "column": 31
                                }
                              }
                            },
                            "range": [
                              1731,
                              1754
                            ],
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 8
                              },
                              "end": {
                                "line": 40,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            1731,
                            1755
                          ],
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 8
                            },
                            "end": {
                              "line": 40,
                              "column": 32
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1764,
                                  1768
                                ],
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "_hasCompleted",
                                "range": [
                                  1769,
                                  1782
                                ],
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 26
                                  }
                                }
                              },
                              "range": [
                                1764,
                                1782
                              ],
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 8
                                },
                                "end": {
                                  "line": 41,
                                  "column": 26
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": false,
                              "raw": "false",
                              "range": [
                                1785,
                                1790
                              ],
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 29
                                },
                                "end": {
                                  "line": 41,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              1764,
                              1790
                            ],
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 8
                              },
                              "end": {
                                "line": 41,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            1764,
                            1791
                          ],
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 35
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  1800,
                                  1811
                                ],
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 19
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "add",
                                "range": [
                                  1812,
                                  1815
                                ],
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 23
                                  }
                                }
                              },
                              "range": [
                                1800,
                                1815
                              ],
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 8
                                },
                                "end": {
                                  "line": 42,
                                  "column": 23
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "range": [
                                  1816,
                                  1820
                                ],
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 28
                                  }
                                }
                              }
                            ],
                            "range": [
                              1800,
                              1821
                            ],
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 8
                              },
                              "end": {
                                "line": 42,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            1800,
                            1822
                          ],
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 30
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1831,
                                  1835
                                ],
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "scheduleTimeout",
                                "range": [
                                  1836,
                                  1851
                                ],
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 28
                                  }
                                }
                              },
                              "range": [
                                1831,
                                1851
                              ],
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 8
                                },
                                "end": {
                                  "line": 43,
                                  "column": 28
                                }
                              }
                            },
                            "arguments": [],
                            "range": [
                              1831,
                              1853
                            ],
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 8
                              },
                              "end": {
                                "line": 43,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            1831,
                            1854
                          ],
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 8
                            },
                            "end": {
                              "line": 43,
                              "column": 31
                            }
                          }
                        }
                      ],
                      "range": [
                        1422,
                        1860
                      ],
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 101
                        },
                        "end": {
                          "line": 44,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      1325,
                      1860
                    ],
                    "loc": {
                      "start": {
                        "line": 31,
                        "column": 4
                      },
                      "end": {
                        "line": 44,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "Object",
                          "range": [
                            1865,
                            1871
                          ],
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 4
                            },
                            "end": {
                              "line": 45,
                              "column": 10
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "defineProperty",
                          "range": [
                            1872,
                            1886
                          ],
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 11
                            },
                            "end": {
                              "line": 45,
                              "column": 25
                            }
                          }
                        },
                        "range": [
                          1865,
                          1886
                        ],
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 4
                          },
                          "end": {
                            "line": 45,
                            "column": 25
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TimeoutWithSubscriber",
                            "range": [
                              1887,
                              1908
                            ],
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 26
                              },
                              "end": {
                                "line": 45,
                                "column": 47
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              1909,
                              1918
                            ],
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 48
                              },
                              "end": {
                                "line": 45,
                                "column": 57
                              }
                            }
                          },
                          "range": [
                            1887,
                            1918
                          ],
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 26
                            },
                            "end": {
                              "line": 45,
                              "column": 57
                            }
                          }
                        },
                        {
                          "type": "Literal",
                          "value": "previousIndex",
                          "raw": "\"previousIndex\"",
                          "range": [
                            1920,
                            1935
                          ],
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 59
                            },
                            "end": {
                              "line": 45,
                              "column": 74
                            }
                          }
                        },
                        {
                          "type": "ObjectExpression",
                          "properties": [
                            {
                              "type": "Property",
                              "key": {
                                "type": "Identifier",
                                "name": "get",
                                "range": [
                                  1947,
                                  1950
                                ],
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 11
                                  }
                                }
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "id": null,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1985,
                                            1989
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_previousIndex",
                                          "range": [
                                            1990,
                                            2004
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 38
                                            }
                                          }
                                        },
                                        "range": [
                                          1985,
                                          2004
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 38
                                          }
                                        }
                                      },
                                      "range": [
                                        1978,
                                        2005
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 39
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1964,
                                    2015
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 9
                                    }
                                  }
                                },
                                "generator": false,
                                "expression": false,
                                "range": [
                                  1952,
                                  2015
                                ],
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 9
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                1947,
                                2015
                              ],
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 8
                                },
                                "end": {
                                  "line": 48,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "key": {
                                "type": "Identifier",
                                "name": "enumerable",
                                "range": [
                                  2025,
                                  2035
                                ],
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 18
                                  }
                                }
                              },
                              "value": {
                                "type": "Literal",
                                "value": true,
                                "raw": "true",
                                "range": [
                                  2037,
                                  2041
                                ],
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 24
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                2025,
                                2041
                              ],
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 8
                                },
                                "end": {
                                  "line": 49,
                                  "column": 24
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "key": {
                                "type": "Identifier",
                                "name": "configurable",
                                "range": [
                                  2051,
                                  2063
                                ],
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 20
                                  }
                                }
                              },
                              "value": {
                                "type": "Literal",
                                "value": true,
                                "raw": "true",
                                "range": [
                                  2065,
                                  2069
                                ],
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 26
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                2051,
                                2069
                              ],
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 8
                                },
                                "end": {
                                  "line": 50,
                                  "column": 26
                                }
                              }
                            }
                          ],
                          "range": [
                            1937,
                            2075
                          ],
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 76
                            },
                            "end": {
                              "line": 51,
                              "column": 5
                            }
                          }
                        }
                      ],
                      "range": [
                        1865,
                        2076
                      ],
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 4
                        },
                        "end": {
                          "line": 51,
                          "column": 6
                        }
                      }
                    },
                    "range": [
                      1865,
                      2077
                    ],
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 4
                      },
                      "end": {
                        "line": 51,
                        "column": 7
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "Object",
                          "range": [
                            2082,
                            2088
                          ],
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 4
                            },
                            "end": {
                              "line": 52,
                              "column": 10
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "defineProperty",
                          "range": [
                            2089,
                            2103
                          ],
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 11
                            },
                            "end": {
                              "line": 52,
                              "column": 25
                            }
                          }
                        },
                        "range": [
                          2082,
                          2103
                        ],
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 4
                          },
                          "end": {
                            "line": 52,
                            "column": 25
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TimeoutWithSubscriber",
                            "range": [
                              2104,
                              2125
                            ],
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 26
                              },
                              "end": {
                                "line": 52,
                                "column": 47
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2126,
                              2135
                            ],
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 48
                              },
                              "end": {
                                "line": 52,
                                "column": 57
                              }
                            }
                          },
                          "range": [
                            2104,
                            2135
                          ],
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 26
                            },
                            "end": {
                              "line": 52,
                              "column": 57
                            }
                          }
                        },
                        {
                          "type": "Literal",
                          "value": "hasCompleted",
                          "raw": "\"hasCompleted\"",
                          "range": [
                            2137,
                            2151
                          ],
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 59
                            },
                            "end": {
                              "line": 52,
                              "column": 73
                            }
                          }
                        },
                        {
                          "type": "ObjectExpression",
                          "properties": [
                            {
                              "type": "Property",
                              "key": {
                                "type": "Identifier",
                                "name": "get",
                                "range": [
                                  2163,
                                  2166
                                ],
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 11
                                  }
                                }
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "id": null,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2201,
                                            2205
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 54,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 54,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_hasCompleted",
                                          "range": [
                                            2206,
                                            2219
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 54,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 54,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "range": [
                                          2201,
                                          2219
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 54,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 54,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "range": [
                                        2194,
                                        2220
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 54,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 54,
                                          "column": 38
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2180,
                                    2230
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 9
                                    }
                                  }
                                },
                                "generator": false,
                                "expression": false,
                                "range": [
                                  2168,
                                  2230
                                ],
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 9
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                2163,
                                2230
                              ],
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 8
                                },
                                "end": {
                                  "line": 55,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "key": {
                                "type": "Identifier",
                                "name": "enumerable",
                                "range": [
                                  2240,
                                  2250
                                ],
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 18
                                  }
                                }
                              },
                              "value": {
                                "type": "Literal",
                                "value": true,
                                "raw": "true",
                                "range": [
                                  2252,
                                  2256
                                ],
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 24
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                2240,
                                2256
                              ],
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 8
                                },
                                "end": {
                                  "line": 56,
                                  "column": 24
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "key": {
                                "type": "Identifier",
                                "name": "configurable",
                                "range": [
                                  2266,
                                  2278
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 20
                                  }
                                }
                              },
                              "value": {
                                "type": "Literal",
                                "value": true,
                                "raw": "true",
                                "range": [
                                  2280,
                                  2284
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 26
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                2266,
                                2284
                              ],
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 8
                                },
                                "end": {
                                  "line": 57,
                                  "column": 26
                                }
                              }
                            }
                          ],
                          "range": [
                            2153,
                            2290
                          ],
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 75
                            },
                            "end": {
                              "line": 58,
                              "column": 5
                            }
                          }
                        }
                      ],
                      "range": [
                        2082,
                        2291
                      ],
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 4
                        },
                        "end": {
                          "line": 58,
                          "column": 6
                        }
                      }
                    },
                    "range": [
                      2082,
                      2292
                    ],
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 4
                      },
                      "end": {
                        "line": 58,
                        "column": 7
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "TimeoutWithSubscriber",
                          "range": [
                            2297,
                            2318
                          ],
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 4
                            },
                            "end": {
                              "line": 59,
                              "column": 25
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "dispatchTimeout",
                          "range": [
                            2319,
                            2334
                          ],
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 26
                            },
                            "end": {
                              "line": 59,
                              "column": 41
                            }
                          }
                        },
                        "range": [
                          2297,
                          2334
                        ],
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 4
                          },
                          "end": {
                            "line": 59,
                            "column": 41
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "state",
                            "range": [
                              2347,
                              2352
                            ],
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 54
                              },
                              "end": {
                                "line": 59,
                                "column": 59
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "source",
                                    "range": [
                                      2368,
                                      2374
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 60,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 60,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "state",
                                      "range": [
                                        2377,
                                        2382
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 60,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 60,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "subscriber",
                                      "range": [
                                        2383,
                                        2393
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 60,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 60,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "range": [
                                      2377,
                                      2393
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 60,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 60,
                                        "column": 37
                                      }
                                    }
                                  },
                                  "range": [
                                    2368,
                                    2393
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 60,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 37
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2364,
                                2394
                              ],
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 8
                                },
                                "end": {
                                  "line": 60,
                                  "column": 38
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "currentIndex",
                                    "range": [
                                      2407,
                                      2419
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "state",
                                      "range": [
                                        2422,
                                        2427
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 61,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 61,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "index",
                                      "range": [
                                        2428,
                                        2433
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 61,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 61,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "range": [
                                      2422,
                                      2433
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "range": [
                                    2407,
                                    2433
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 61,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 38
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2403,
                                2434
                              ],
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 8
                                },
                                "end": {
                                  "line": 61,
                                  "column": 39
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "LogicalExpression",
                                "operator": "&&",
                                "left": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "source",
                                      "range": [
                                        2448,
                                        2454
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "hasCompleted",
                                      "range": [
                                        2455,
                                        2467
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "range": [
                                      2448,
                                      2467
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 62,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 62,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    2447,
                                    2467
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 62,
                                      "column": 32
                                    }
                                  }
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "operator": "===",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "source",
                                      "range": [
                                        2471,
                                        2477
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "previousIndex",
                                      "range": [
                                        2478,
                                        2491
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 56
                                        }
                                      }
                                    },
                                    "range": [
                                      2471,
                                      2491
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 62,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 62,
                                        "column": 56
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "currentIndex",
                                    "range": [
                                      2496,
                                      2508
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 62,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 62,
                                        "column": 73
                                      }
                                    }
                                  },
                                  "range": [
                                    2471,
                                    2508
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 62,
                                      "column": 73
                                    }
                                  }
                                },
                                "range": [
                                  2447,
                                  2508
                                ],
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 73
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "source",
                                          "range": [
                                            2524,
                                            2530
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 18
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "handleTimeout",
                                          "range": [
                                            2531,
                                            2544
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "range": [
                                          2524,
                                          2544
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 63,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        2524,
                                        2546
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 63,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 63,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      2524,
                                      2547
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 63,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 63,
                                        "column": 35
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2510,
                                  2557
                                ],
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 75
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                2443,
                                2557
                              ],
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 8
                                },
                                "end": {
                                  "line": 64,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            2354,
                            2563
                          ],
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 61
                            },
                            "end": {
                              "line": 65,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2337,
                          2563
                        ],
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 44
                          },
                          "end": {
                            "line": 65,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2297,
                        2563
                      ],
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 4
                        },
                        "end": {
                          "line": 65,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2297,
                      2564
                    ],
                    "loc": {
                      "start": {
                        "line": 59,
                        "column": 4
                      },
                      "end": {
                        "line": 65,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TimeoutWithSubscriber",
                            "range": [
                              2569,
                              2590
                            ],
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 4
                              },
                              "end": {
                                "line": 66,
                                "column": 25
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2591,
                              2600
                            ],
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 26
                              },
                              "end": {
                                "line": 66,
                                "column": 35
                              }
                            }
                          },
                          "range": [
                            2569,
                            2600
                          ],
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 4
                            },
                            "end": {
                              "line": 66,
                              "column": 35
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "scheduleTimeout",
                          "range": [
                            2601,
                            2616
                          ],
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 36
                            },
                            "end": {
                              "line": 66,
                              "column": 51
                            }
                          }
                        },
                        "range": [
                          2569,
                          2616
                        ],
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 4
                          },
                          "end": {
                            "line": 66,
                            "column": 51
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "currentIndex",
                                    "range": [
                                      2645,
                                      2657
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2660,
                                        2664
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 31
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "index",
                                      "range": [
                                        2665,
                                        2670
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "range": [
                                      2660,
                                      2670
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 37
                                      }
                                    }
                                  },
                                  "range": [
                                    2645,
                                    2670
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 37
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2641,
                                2671
                              ],
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 8
                                },
                                "end": {
                                  "line": 67,
                                  "column": 38
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "timeoutState",
                                    "range": [
                                      2684,
                                      2696
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 68,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 68,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "ObjectExpression",
                                    "properties": [
                                      {
                                        "type": "Property",
                                        "key": {
                                          "type": "Identifier",
                                          "name": "subscriber",
                                          "range": [
                                            2701,
                                            2711
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 39
                                            }
                                          }
                                        },
                                        "value": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2713,
                                            2717
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 45
                                            }
                                          }
                                        },
                                        "kind": "init",
                                        "method": false,
                                        "shorthand": false,
                                        "computed": false,
                                        "range": [
                                          2701,
                                          2717
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 45
                                          }
                                        }
                                      },
                                      {
                                        "type": "Property",
                                        "key": {
                                          "type": "Identifier",
                                          "name": "index",
                                          "range": [
                                            2719,
                                            2724
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 52
                                            }
                                          }
                                        },
                                        "value": {
                                          "type": "Identifier",
                                          "name": "currentIndex",
                                          "range": [
                                            2726,
                                            2738
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 66
                                            }
                                          }
                                        },
                                        "kind": "init",
                                        "method": false,
                                        "shorthand": false,
                                        "computed": false,
                                        "range": [
                                          2719,
                                          2738
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 47
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 66
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      2699,
                                      2740
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 68,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 68,
                                        "column": 68
                                      }
                                    }
                                  },
                                  "range": [
                                    2684,
                                    2740
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 68
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2680,
                                2741
                              ],
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 8
                                },
                                "end": {
                                  "line": 68,
                                  "column": 69
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2750,
                                        2754
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "scheduler",
                                      "range": [
                                        2755,
                                        2764
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "range": [
                                      2750,
                                      2764
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "schedule",
                                    "range": [
                                      2765,
                                      2773
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "range": [
                                    2750,
                                    2773
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 31
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "TimeoutWithSubscriber",
                                      "range": [
                                        2774,
                                        2795
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 53
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "dispatchTimeout",
                                      "range": [
                                        2796,
                                        2811
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 69
                                        }
                                      }
                                    },
                                    "range": [
                                      2774,
                                      2811
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 69
                                      }
                                    }
                                  },
                                  {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2813,
                                        2817
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 71
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 75
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "waitFor",
                                      "range": [
                                        2818,
                                        2825
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 76
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 83
                                        }
                                      }
                                    },
                                    "range": [
                                      2813,
                                      2825
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 71
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 83
                                      }
                                    }
                                  },
                                  {
                                    "type": "Identifier",
                                    "name": "timeoutState",
                                    "range": [
                                      2827,
                                      2839
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 85
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 97
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2750,
                                  2840
                                ],
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 98
                                  }
                                }
                              },
                              "range": [
                                2750,
                                2841
                              ],
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 8
                                },
                                "end": {
                                  "line": 69,
                                  "column": 99
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "UpdateExpression",
                                "operator": "++",
                                "argument": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      2850,
                                      2854
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 70,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 70,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "index",
                                    "range": [
                                      2855,
                                      2860
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 70,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 70,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "range": [
                                    2850,
                                    2860
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 70,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 70,
                                      "column": 18
                                    }
                                  }
                                },
                                "prefix": false,
                                "range": [
                                  2850,
                                  2862
                                ],
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 20
                                  }
                                }
                              },
                              "range": [
                                2850,
                                2863
                              ],
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 8
                                },
                                "end": {
                                  "line": 70,
                                  "column": 21
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      2872,
                                      2876
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_previousIndex",
                                    "range": [
                                      2877,
                                      2891
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 27
                                      }
                                    }
                                  },
                                  "range": [
                                    2872,
                                    2891
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 27
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Identifier",
                                  "name": "currentIndex",
                                  "range": [
                                    2894,
                                    2906
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 42
                                    }
                                  }
                                },
                                "range": [
                                  2872,
                                  2906
                                ],
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 42
                                  }
                                }
                              },
                              "range": [
                                2872,
                                2907
                              ],
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 8
                                },
                                "end": {
                                  "line": 71,
                                  "column": 43
                                }
                              }
                            }
                          ],
                          "range": [
                            2631,
                            2913
                          ],
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 66
                            },
                            "end": {
                              "line": 72,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2619,
                          2913
                        ],
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 54
                          },
                          "end": {
                            "line": 72,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2569,
                        2913
                      ],
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 4
                        },
                        "end": {
                          "line": 72,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2569,
                      2914
                    ],
                    "loc": {
                      "start": {
                        "line": 66,
                        "column": 4
                      },
                      "end": {
                        "line": 72,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TimeoutWithSubscriber",
                            "range": [
                              2919,
                              2940
                            ],
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 4
                              },
                              "end": {
                                "line": 73,
                                "column": 25
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2941,
                              2950
                            ],
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 26
                              },
                              "end": {
                                "line": 73,
                                "column": 35
                              }
                            }
                          },
                          "range": [
                            2919,
                            2950
                          ],
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 4
                            },
                            "end": {
                              "line": 73,
                              "column": 35
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_next",
                          "range": [
                            2951,
                            2956
                          ],
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 36
                            },
                            "end": {
                              "line": 73,
                              "column": 41
                            }
                          }
                        },
                        "range": [
                          2919,
                          2956
                        ],
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 4
                          },
                          "end": {
                            "line": 73,
                            "column": 41
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              2969,
                              2974
                            ],
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 54
                              },
                              "end": {
                                "line": 73,
                                "column": 59
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2986,
                                        2990
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        2991,
                                        3002
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      2986,
                                      3002
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "next",
                                    "range": [
                                      3003,
                                      3007
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "range": [
                                    2986,
                                    3007
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 29
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "value",
                                    "range": [
                                      3008,
                                      3013
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 35
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2986,
                                  3014
                                ],
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 36
                                  }
                                }
                              },
                              "range": [
                                2986,
                                3015
                              ],
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 8
                                },
                                "end": {
                                  "line": 74,
                                  "column": 37
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "UnaryExpression",
                                "operator": "!",
                                "argument": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      3029,
                                      3033
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "absoluteTimeout",
                                    "range": [
                                      3034,
                                      3049
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "range": [
                                    3029,
                                    3049
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 33
                                    }
                                  }
                                },
                                "prefix": true,
                                "range": [
                                  3028,
                                  3049
                                ],
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 33
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3065,
                                            3069
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 76,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 76,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "scheduleTimeout",
                                          "range": [
                                            3070,
                                            3085
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 76,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 76,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "range": [
                                          3065,
                                          3085
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 76,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 76,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        3065,
                                        3087
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 76,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 76,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      3065,
                                      3088
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 76,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 76,
                                        "column": 35
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3051,
                                  3098
                                ],
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                3024,
                                3098
                              ],
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 8
                                },
                                "end": {
                                  "line": 77,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            2976,
                            3104
                          ],
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 61
                            },
                            "end": {
                              "line": 78,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2959,
                          3104
                        ],
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 44
                          },
                          "end": {
                            "line": 78,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2919,
                        3104
                      ],
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 4
                        },
                        "end": {
                          "line": 78,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2919,
                      3105
                    ],
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 4
                      },
                      "end": {
                        "line": 78,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TimeoutWithSubscriber",
                            "range": [
                              3110,
                              3131
                            ],
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 4
                              },
                              "end": {
                                "line": 79,
                                "column": 25
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3132,
                              3141
                            ],
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 26
                              },
                              "end": {
                                "line": 79,
                                "column": 35
                              }
                            }
                          },
                          "range": [
                            3110,
                            3141
                          ],
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 4
                            },
                            "end": {
                              "line": 79,
                              "column": 35
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_error",
                          "range": [
                            3142,
                            3148
                          ],
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 36
                            },
                            "end": {
                              "line": 79,
                              "column": 42
                            }
                          }
                        },
                        "range": [
                          3110,
                          3148
                        ],
                        "loc": {
                          "start": {
                            "line": 79,
                            "column": 4
                          },
                          "end": {
                            "line": 79,
                            "column": 42
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "err",
                            "range": [
                              3161,
                              3164
                            ],
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 55
                              },
                              "end": {
                                "line": 79,
                                "column": 58
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3176,
                                        3180
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        3181,
                                        3192
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      3176,
                                      3192
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "error",
                                    "range": [
                                      3193,
                                      3198
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "range": [
                                    3176,
                                    3198
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 30
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "err",
                                    "range": [
                                      3199,
                                      3202
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 34
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3176,
                                  3203
                                ],
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 35
                                  }
                                }
                              },
                              "range": [
                                3176,
                                3204
                              ],
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 8
                                },
                                "end": {
                                  "line": 80,
                                  "column": 36
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      3213,
                                      3217
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_hasCompleted",
                                    "range": [
                                      3218,
                                      3231
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "range": [
                                    3213,
                                    3231
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 81,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 26
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Literal",
                                  "value": true,
                                  "raw": "true",
                                  "range": [
                                    3234,
                                    3238
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 81,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 33
                                    }
                                  }
                                },
                                "range": [
                                  3213,
                                  3238
                                ],
                                "loc": {
                                  "start": {
                                    "line": 81,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 81,
                                    "column": 33
                                  }
                                }
                              },
                              "range": [
                                3213,
                                3239
                              ],
                              "loc": {
                                "start": {
                                  "line": 81,
                                  "column": 8
                                },
                                "end": {
                                  "line": 81,
                                  "column": 34
                                }
                              }
                            }
                          ],
                          "range": [
                            3166,
                            3245
                          ],
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 60
                            },
                            "end": {
                              "line": 82,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3151,
                          3245
                        ],
                        "loc": {
                          "start": {
                            "line": 79,
                            "column": 45
                          },
                          "end": {
                            "line": 82,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3110,
                        3245
                      ],
                      "loc": {
                        "start": {
                          "line": 79,
                          "column": 4
                        },
                        "end": {
                          "line": 82,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3110,
                      3246
                    ],
                    "loc": {
                      "start": {
                        "line": 79,
                        "column": 4
                      },
                      "end": {
                        "line": 82,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TimeoutWithSubscriber",
                            "range": [
                              3251,
                              3272
                            ],
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 4
                              },
                              "end": {
                                "line": 83,
                                "column": 25
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3273,
                              3282
                            ],
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 26
                              },
                              "end": {
                                "line": 83,
                                "column": 35
                              }
                            }
                          },
                          "range": [
                            3251,
                            3282
                          ],
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 4
                            },
                            "end": {
                              "line": 83,
                              "column": 35
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_complete",
                          "range": [
                            3283,
                            3292
                          ],
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 36
                            },
                            "end": {
                              "line": 83,
                              "column": 45
                            }
                          }
                        },
                        "range": [
                          3251,
                          3292
                        ],
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 4
                          },
                          "end": {
                            "line": 83,
                            "column": 45
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3317,
                                        3321
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        3322,
                                        3333
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      3317,
                                      3333
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "complete",
                                    "range": [
                                      3334,
                                      3342
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "range": [
                                    3317,
                                    3342
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 33
                                    }
                                  }
                                },
                                "arguments": [],
                                "range": [
                                  3317,
                                  3344
                                ],
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 35
                                  }
                                }
                              },
                              "range": [
                                3317,
                                3345
                              ],
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 8
                                },
                                "end": {
                                  "line": 84,
                                  "column": 36
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      3354,
                                      3358
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_hasCompleted",
                                    "range": [
                                      3359,
                                      3372
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "range": [
                                    3354,
                                    3372
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 85,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 85,
                                      "column": 26
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Literal",
                                  "value": true,
                                  "raw": "true",
                                  "range": [
                                    3375,
                                    3379
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 85,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 85,
                                      "column": 33
                                    }
                                  }
                                },
                                "range": [
                                  3354,
                                  3379
                                ],
                                "loc": {
                                  "start": {
                                    "line": 85,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 85,
                                    "column": 33
                                  }
                                }
                              },
                              "range": [
                                3354,
                                3380
                              ],
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 8
                                },
                                "end": {
                                  "line": 85,
                                  "column": 34
                                }
                              }
                            }
                          ],
                          "range": [
                            3307,
                            3386
                          ],
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 60
                            },
                            "end": {
                              "line": 86,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3295,
                          3386
                        ],
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 48
                          },
                          "end": {
                            "line": 86,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3251,
                        3386
                      ],
                      "loc": {
                        "start": {
                          "line": 83,
                          "column": 4
                        },
                        "end": {
                          "line": 86,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3251,
                      3387
                    ],
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 4
                      },
                      "end": {
                        "line": 86,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TimeoutWithSubscriber",
                            "range": [
                              3392,
                              3413
                            ],
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 4
                              },
                              "end": {
                                "line": 87,
                                "column": 25
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3414,
                              3423
                            ],
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 26
                              },
                              "end": {
                                "line": 87,
                                "column": 35
                              }
                            }
                          },
                          "range": [
                            3392,
                            3423
                          ],
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 4
                            },
                            "end": {
                              "line": 87,
                              "column": 35
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "handleTimeout",
                          "range": [
                            3424,
                            3437
                          ],
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 36
                            },
                            "end": {
                              "line": 87,
                              "column": 49
                            }
                          }
                        },
                        "range": [
                          3392,
                          3437
                        ],
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 4
                          },
                          "end": {
                            "line": 87,
                            "column": 49
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "UnaryExpression",
                                "operator": "!",
                                "argument": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      3467,
                                      3471
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "closed",
                                    "range": [
                                      3472,
                                      3478
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "range": [
                                    3467,
                                    3478
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 88,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 24
                                    }
                                  }
                                },
                                "prefix": true,
                                "range": [
                                  3466,
                                  3478
                                ],
                                "loc": {
                                  "start": {
                                    "line": 88,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 24
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "VariableDeclaration",
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "id": {
                                          "type": "Identifier",
                                          "name": "withObservable",
                                          "range": [
                                            3498,
                                            3512
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 30
                                            }
                                          }
                                        },
                                        "init": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              3515,
                                              3519
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 37
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "withObservable",
                                            "range": [
                                              3520,
                                              3534
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 52
                                              }
                                            }
                                          },
                                          "range": [
                                            3515,
                                            3534
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 52
                                            }
                                          }
                                        },
                                        "range": [
                                          3498,
                                          3534
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 89,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 89,
                                            "column": 52
                                          }
                                        }
                                      }
                                    ],
                                    "kind": "var",
                                    "range": [
                                      3494,
                                      3535
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 53
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3548,
                                            3552
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "unsubscribe",
                                          "range": [
                                            3553,
                                            3564
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "range": [
                                          3548,
                                          3564
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        3548,
                                        3566
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "range": [
                                      3548,
                                      3567
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 31
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              3580,
                                              3584
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 91,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 91,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "destination",
                                            "range": [
                                              3585,
                                              3596
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 91,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 91,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "range": [
                                            3580,
                                            3596
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 91,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 91,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "add",
                                          "range": [
                                            3597,
                                            3600
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 91,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 91,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "range": [
                                          3580,
                                          3600
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 91,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 91,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "AssignmentExpression",
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                3601,
                                                3605
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 91,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 91,
                                                  "column": 37
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "timeoutSubscription",
                                              "range": [
                                                3606,
                                                3625
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 91,
                                                  "column": 38
                                                },
                                                "end": {
                                                  "line": 91,
                                                  "column": 57
                                                }
                                              }
                                            },
                                            "range": [
                                              3601,
                                              3625
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 91,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 91,
                                                "column": 57
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "Identifier",
                                              "name": "subscribeToResult",
                                              "range": [
                                                3628,
                                                3645
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 91,
                                                  "column": 60
                                                },
                                                "end": {
                                                  "line": 91,
                                                  "column": 77
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "ThisExpression",
                                                "range": [
                                                  3646,
                                                  3650
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 91,
                                                    "column": 78
                                                  },
                                                  "end": {
                                                    "line": 91,
                                                    "column": 82
                                                  }
                                                }
                                              },
                                              {
                                                "type": "Identifier",
                                                "name": "withObservable",
                                                "range": [
                                                  3652,
                                                  3666
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 91,
                                                    "column": 84
                                                  },
                                                  "end": {
                                                    "line": 91,
                                                    "column": 98
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              3628,
                                              3667
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 91,
                                                "column": 60
                                              },
                                              "end": {
                                                "line": 91,
                                                "column": 99
                                              }
                                            }
                                          },
                                          "range": [
                                            3601,
                                            3667
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 91,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 91,
                                              "column": 99
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3580,
                                        3668
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 100
                                        }
                                      }
                                    },
                                    "range": [
                                      3580,
                                      3669
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 101
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3480,
                                  3679
                                ],
                                "loc": {
                                  "start": {
                                    "line": 88,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                3462,
                                3679
                              ],
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 8
                                },
                                "end": {
                                  "line": 92,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            3452,
                            3685
                          ],
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 64
                            },
                            "end": {
                              "line": 93,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3440,
                          3685
                        ],
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 52
                          },
                          "end": {
                            "line": 93,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3392,
                        3685
                      ],
                      "loc": {
                        "start": {
                          "line": 87,
                          "column": 4
                        },
                        "end": {
                          "line": 93,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3392,
                      3686
                    ],
                    "loc": {
                      "start": {
                        "line": 87,
                        "column": 4
                      },
                      "end": {
                        "line": 93,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "TimeoutWithSubscriber",
                      "range": [
                        3698,
                        3719
                      ],
                      "loc": {
                        "start": {
                          "line": 94,
                          "column": 11
                        },
                        "end": {
                          "line": 94,
                          "column": 32
                        }
                      }
                    },
                    "range": [
                      3691,
                      3720
                    ],
                    "loc": {
                      "start": {
                        "line": 94,
                        "column": 4
                      },
                      "end": {
                        "line": 94,
                        "column": 33
                      }
                    }
                  }
                ],
                "range": [
                  1273,
                  3722
                ],
                "loc": {
                  "start": {
                    "line": 29,
                    "column": 47
                  },
                  "end": {
                    "line": 95,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                1255,
                3722
              ],
              "loc": {
                "start": {
                  "line": 29,
                  "column": 29
                },
                "end": {
                  "line": 95,
                  "column": 1
                }
              }
            },
            "arguments": [
              {
                "type": "Identifier",
                "name": "OuterSubscriber",
                "range": [
                  3723,
                  3738
                ],
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 2
                  },
                  "end": {
                    "line": 95,
                    "column": 17
                  }
                }
              }
            ],
            "range": [
              1255,
              3739
            ],
            "loc": {
              "start": {
                "line": 29,
                "column": 29
              },
              "end": {
                "line": 95,
                "column": 18
              }
            }
          },
          "range": [
            1230,
            3740
          ],
          "loc": {
            "start": {
              "line": 29,
              "column": 4
            },
            "end": {
              "line": 95,
              "column": 19
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        1226,
        3741
      ],
      "loc": {
        "start": {
          "line": 29,
          "column": 0
        },
        "end": {
          "line": 95,
          "column": 20
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            1134,
            1225
          ],
          "loc": {
            "start": {
              "line": 24,
              "column": 0
            },
            "end": {
              "line": 28,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=timeoutWith.js.map",
          "range": [
            3742,
            3781
          ],
          "loc": {
            "start": {
              "line": 96,
              "column": 0
            },
            "end": {
              "line": 96,
              "column": 39
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    3741
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 95,
      "column": 20
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": " tslint:disable:max-line-length ",
      "range": [
        202,
        238
      ],
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 36
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
      "range": [
        1134,
        1225
      ],
      "loc": {
        "start": {
          "line": 24,
          "column": 0
        },
        "end": {
          "line": 28,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=timeoutWith.js.map",
      "range": [
        3742,
        3781
      ],
      "loc": {
        "start": {
          "line": 96,
          "column": 0
        },
        "end": {
          "line": 96,
          "column": 39
        }
      }
    }
  ]
}