{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Observable",
            "range": [
              9,
              19
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Observable",
            "range": [
              9,
              19
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 19
              }
            }
          },
          "range": [
            9,
            19
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 19
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../Observable",
        "raw": "'../Observable'",
        "range": [
          27,
          42
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 27
          },
          "end": {
            "line": 1,
            "column": 42
          }
        }
      },
      "range": [
        0,
        43
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 43
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "isScheduler",
            "range": [
              53,
              64
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 20
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "isScheduler",
            "range": [
              53,
              64
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 20
              }
            }
          },
          "range": [
            53,
            64
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 20
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/isScheduler",
        "raw": "'../util/isScheduler'",
        "range": [
          72,
          93
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 28
          },
          "end": {
            "line": 2,
            "column": 49
          }
        }
      },
      "range": [
        44,
        94
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 50
        }
      }
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "selfSelector",
            "range": [
              99,
              111
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 4
              },
              "end": {
                "line": 3,
                "column": 16
              }
            }
          },
          "init": {
            "type": "FunctionExpression",
            "id": {
              "type": "Identifier",
              "name": "selfSelector",
              "range": [
                99,
                111
              ],
              "loc": {
                "start": {
                  "line": 3,
                  "column": 4
                },
                "end": {
                  "line": 3,
                  "column": 16
                }
              }
            },
            "params": [
              {
                "type": "Identifier",
                "name": "value",
                "range": [
                  124,
                  129
                ],
                "loc": {
                  "start": {
                    "line": 3,
                    "column": 29
                  },
                  "end": {
                    "line": 3,
                    "column": 34
                  }
                }
              }
            ],
            "body": {
              "type": "BlockStatement",
              "body": [
                {
                  "type": "ReturnStatement",
                  "argument": {
                    "type": "Identifier",
                    "name": "value",
                    "range": [
                      140,
                      145
                    ],
                    "loc": {
                      "start": {
                        "line": 3,
                        "column": 45
                      },
                      "end": {
                        "line": 3,
                        "column": 50
                      }
                    }
                  },
                  "range": [
                    133,
                    146
                  ],
                  "loc": {
                    "start": {
                      "line": 3,
                      "column": 38
                    },
                    "end": {
                      "line": 3,
                      "column": 51
                    }
                  }
                }
              ],
              "range": [
                131,
                148
              ],
              "loc": {
                "start": {
                  "line": 3,
                  "column": 36
                },
                "end": {
                  "line": 3,
                  "column": 53
                }
              }
            },
            "generator": false,
            "expression": false,
            "range": [
              114,
              148
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 19
              },
              "end": {
                "line": 3,
                "column": 53
              }
            }
          },
          "range": [
            99,
            148
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 4
            },
            "end": {
              "line": 3,
              "column": 53
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        95,
        149
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 54
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n ",
          "range": [
            150,
            244
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 0
            },
            "end": {
              "line": 8,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "GenerateObservable",
              "range": [
                256,
                274
              ],
              "loc": {
                "start": {
                  "line": 9,
                  "column": 11
                },
                "end": {
                  "line": 9,
                  "column": 29
                }
              }
            },
            "init": {
              "type": "CallExpression",
              "callee": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "_super",
                    "range": [
                      288,
                      294
                    ],
                    "loc": {
                      "start": {
                        "line": 9,
                        "column": 43
                      },
                      "end": {
                        "line": 9,
                        "column": 49
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "Identifier",
                          "name": "__extends",
                          "range": [
                            302,
                            311
                          ],
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 4
                            },
                            "end": {
                              "line": 10,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "GenerateObservable",
                            "range": [
                              312,
                              330
                            ],
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 14
                              },
                              "end": {
                                "line": 10,
                                "column": 32
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "_super",
                            "range": [
                              332,
                              338
                            ],
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 34
                              },
                              "end": {
                                "line": 10,
                                "column": 40
                              }
                            }
                          }
                        ],
                        "range": [
                          302,
                          339
                        ],
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 4
                          },
                          "end": {
                            "line": 10,
                            "column": 41
                          }
                        }
                      },
                      "range": [
                        302,
                        340
                      ],
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 4
                        },
                        "end": {
                          "line": 10,
                          "column": 42
                        }
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "id": {
                        "type": "Identifier",
                        "name": "GenerateObservable",
                        "range": [
                          354,
                          372
                        ],
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 13
                          },
                          "end": {
                            "line": 11,
                            "column": 31
                          }
                        }
                      },
                      "params": [
                        {
                          "type": "Identifier",
                          "name": "initialState",
                          "range": [
                            373,
                            385
                          ],
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 32
                            },
                            "end": {
                              "line": 11,
                              "column": 44
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "condition",
                          "range": [
                            387,
                            396
                          ],
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 46
                            },
                            "end": {
                              "line": 11,
                              "column": 55
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "iterate",
                          "range": [
                            398,
                            405
                          ],
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 57
                            },
                            "end": {
                              "line": 11,
                              "column": 64
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "resultSelector",
                          "range": [
                            407,
                            421
                          ],
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 66
                            },
                            "end": {
                              "line": 11,
                              "column": 80
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "scheduler",
                          "range": [
                            423,
                            432
                          ],
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 82
                            },
                            "end": {
                              "line": 11,
                              "column": 91
                            }
                          }
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "_super",
                                  "range": [
                                    444,
                                    450
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 12,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 12,
                                      "column": 14
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "call",
                                  "range": [
                                    451,
                                    455
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 12,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 12,
                                      "column": 19
                                    }
                                  }
                                },
                                "range": [
                                  444,
                                  455
                                ],
                                "loc": {
                                  "start": {
                                    "line": 12,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 12,
                                    "column": 19
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "range": [
                                    456,
                                    460
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 12,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 12,
                                      "column": 24
                                    }
                                  }
                                }
                              ],
                              "range": [
                                444,
                                461
                              ],
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 8
                                },
                                "end": {
                                  "line": 12,
                                  "column": 25
                                }
                              }
                            },
                            "range": [
                              444,
                              462
                            ],
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 8
                              },
                              "end": {
                                "line": 12,
                                "column": 26
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    471,
                                    475
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "initialState",
                                  "range": [
                                    476,
                                    488
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 25
                                    }
                                  }
                                },
                                "range": [
                                  471,
                                  488
                                ],
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 25
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "initialState",
                                "range": [
                                  491,
                                  503
                                ],
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 40
                                  }
                                }
                              },
                              "range": [
                                471,
                                503
                              ],
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 8
                                },
                                "end": {
                                  "line": 13,
                                  "column": 40
                                }
                              }
                            },
                            "range": [
                              471,
                              504
                            ],
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 8
                              },
                              "end": {
                                "line": 13,
                                "column": 41
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    513,
                                    517
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 14,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 14,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "condition",
                                  "range": [
                                    518,
                                    527
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 14,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 14,
                                      "column": 22
                                    }
                                  }
                                },
                                "range": [
                                  513,
                                  527
                                ],
                                "loc": {
                                  "start": {
                                    "line": 14,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 14,
                                    "column": 22
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "condition",
                                "range": [
                                  530,
                                  539
                                ],
                                "loc": {
                                  "start": {
                                    "line": 14,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 14,
                                    "column": 34
                                  }
                                }
                              },
                              "range": [
                                513,
                                539
                              ],
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 8
                                },
                                "end": {
                                  "line": 14,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              513,
                              540
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 8
                              },
                              "end": {
                                "line": 14,
                                "column": 35
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    549,
                                    553
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 15,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "iterate",
                                  "range": [
                                    554,
                                    561
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 15,
                                      "column": 20
                                    }
                                  }
                                },
                                "range": [
                                  549,
                                  561
                                ],
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 20
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "iterate",
                                "range": [
                                  564,
                                  571
                                ],
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 30
                                  }
                                }
                              },
                              "range": [
                                549,
                                571
                              ],
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 8
                                },
                                "end": {
                                  "line": 15,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              549,
                              572
                            ],
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 8
                              },
                              "end": {
                                "line": 15,
                                "column": 31
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    581,
                                    585
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 16,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 16,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "resultSelector",
                                  "range": [
                                    586,
                                    600
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 16,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 16,
                                      "column": 27
                                    }
                                  }
                                },
                                "range": [
                                  581,
                                  600
                                ],
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 27
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "resultSelector",
                                "range": [
                                  603,
                                  617
                                ],
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 44
                                  }
                                }
                              },
                              "range": [
                                581,
                                617
                              ],
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 8
                                },
                                "end": {
                                  "line": 16,
                                  "column": 44
                                }
                              }
                            },
                            "range": [
                              581,
                              618
                            ],
                            "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": [
                                    627,
                                    631
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 17,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "scheduler",
                                  "range": [
                                    632,
                                    641
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 17,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 22
                                    }
                                  }
                                },
                                "range": [
                                  627,
                                  641
                                ],
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 22
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "scheduler",
                                "range": [
                                  644,
                                  653
                                ],
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 34
                                  }
                                }
                              },
                              "range": [
                                627,
                                653
                              ],
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 8
                                },
                                "end": {
                                  "line": 17,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              627,
                              654
                            ],
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 8
                              },
                              "end": {
                                "line": 17,
                                "column": 35
                              }
                            }
                          }
                        ],
                        "range": [
                          434,
                          660
                        ],
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 93
                          },
                          "end": {
                            "line": 18,
                            "column": 5
                          }
                        }
                      },
                      "generator": false,
                      "expression": false,
                      "range": [
                        345,
                        660
                      ],
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 4
                        },
                        "end": {
                          "line": 18,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "GenerateObservable",
                            "range": [
                              665,
                              683
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 4
                              },
                              "end": {
                                "line": 19,
                                "column": 22
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "create",
                            "range": [
                              684,
                              690
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 23
                              },
                              "end": {
                                "line": 19,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            665,
                            690
                          ],
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 4
                            },
                            "end": {
                              "line": 19,
                              "column": 29
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "initialStateOrOptions",
                              "range": [
                                703,
                                724
                              ],
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 42
                                },
                                "end": {
                                  "line": 19,
                                  "column": 63
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "condition",
                              "range": [
                                726,
                                735
                              ],
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 65
                                },
                                "end": {
                                  "line": 19,
                                  "column": 74
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "iterate",
                              "range": [
                                737,
                                744
                              ],
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 76
                                },
                                "end": {
                                  "line": 19,
                                  "column": 83
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "resultSelectorOrObservable",
                              "range": [
                                746,
                                772
                              ],
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 85
                                },
                                "end": {
                                  "line": 19,
                                  "column": 111
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "scheduler",
                              "range": [
                                774,
                                783
                              ],
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 113
                                },
                                "end": {
                                  "line": 19,
                                  "column": 122
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "BinaryExpression",
                                  "operator": "==",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "arguments",
                                      "range": [
                                        799,
                                        808
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 20,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 20,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "length",
                                      "range": [
                                        809,
                                        815
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 20,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 20,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "range": [
                                      799,
                                      815
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": 1,
                                    "raw": "1",
                                    "range": [
                                      819,
                                      820
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "range": [
                                    799,
                                    820
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 33
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": {
                                        "type": "NewExpression",
                                        "callee": {
                                          "type": "Identifier",
                                          "name": "GenerateObservable",
                                          "range": [
                                            847,
                                            865
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 21,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 21,
                                              "column": 41
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "initialStateOrOptions",
                                              "range": [
                                                866,
                                                887
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 21,
                                                  "column": 42
                                                },
                                                "end": {
                                                  "line": 21,
                                                  "column": 63
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "initialState",
                                              "range": [
                                                888,
                                                900
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 21,
                                                  "column": 64
                                                },
                                                "end": {
                                                  "line": 21,
                                                  "column": 76
                                                }
                                              }
                                            },
                                            "range": [
                                              866,
                                              900
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 21,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 21,
                                                "column": 76
                                              }
                                            }
                                          },
                                          {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "initialStateOrOptions",
                                              "range": [
                                                902,
                                                923
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 21,
                                                  "column": 78
                                                },
                                                "end": {
                                                  "line": 21,
                                                  "column": 99
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "condition",
                                              "range": [
                                                924,
                                                933
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 21,
                                                  "column": 100
                                                },
                                                "end": {
                                                  "line": 21,
                                                  "column": 109
                                                }
                                              }
                                            },
                                            "range": [
                                              902,
                                              933
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 21,
                                                "column": 78
                                              },
                                              "end": {
                                                "line": 21,
                                                "column": 109
                                              }
                                            }
                                          },
                                          {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "initialStateOrOptions",
                                              "range": [
                                                935,
                                                956
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 21,
                                                  "column": 111
                                                },
                                                "end": {
                                                  "line": 21,
                                                  "column": 132
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "iterate",
                                              "range": [
                                                957,
                                                964
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 21,
                                                  "column": 133
                                                },
                                                "end": {
                                                  "line": 21,
                                                  "column": 140
                                                }
                                              }
                                            },
                                            "range": [
                                              935,
                                              964
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 21,
                                                "column": 111
                                              },
                                              "end": {
                                                "line": 21,
                                                "column": 140
                                              }
                                            }
                                          },
                                          {
                                            "type": "LogicalExpression",
                                            "operator": "||",
                                            "left": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "initialStateOrOptions",
                                                "range": [
                                                  966,
                                                  987
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 21,
                                                    "column": 142
                                                  },
                                                  "end": {
                                                    "line": 21,
                                                    "column": 163
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "resultSelector",
                                                "range": [
                                                  988,
                                                  1002
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 21,
                                                    "column": 164
                                                  },
                                                  "end": {
                                                    "line": 21,
                                                    "column": 178
                                                  }
                                                }
                                              },
                                              "range": [
                                                966,
                                                1002
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 21,
                                                  "column": 142
                                                },
                                                "end": {
                                                  "line": 21,
                                                  "column": 178
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "Identifier",
                                              "name": "selfSelector",
                                              "range": [
                                                1006,
                                                1018
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 21,
                                                  "column": 182
                                                },
                                                "end": {
                                                  "line": 21,
                                                  "column": 194
                                                }
                                              }
                                            },
                                            "range": [
                                              966,
                                              1018
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 21,
                                                "column": 142
                                              },
                                              "end": {
                                                "line": 21,
                                                "column": 194
                                              }
                                            }
                                          },
                                          {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "initialStateOrOptions",
                                              "range": [
                                                1020,
                                                1041
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 21,
                                                  "column": 196
                                                },
                                                "end": {
                                                  "line": 21,
                                                  "column": 217
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "scheduler",
                                              "range": [
                                                1042,
                                                1051
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 21,
                                                  "column": 218
                                                },
                                                "end": {
                                                  "line": 21,
                                                  "column": 227
                                                }
                                              }
                                            },
                                            "range": [
                                              1020,
                                              1051
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 21,
                                                "column": 196
                                              },
                                              "end": {
                                                "line": 21,
                                                "column": 227
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          843,
                                          1052
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 21,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 21,
                                            "column": 228
                                          }
                                        }
                                      },
                                      "range": [
                                        836,
                                        1053
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 21,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 21,
                                          "column": 229
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    822,
                                    1063
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 22,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  795,
                                  1063
                                ],
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 22,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "LogicalExpression",
                                  "operator": "||",
                                  "left": {
                                    "type": "BinaryExpression",
                                    "operator": "===",
                                    "left": {
                                      "type": "Identifier",
                                      "name": "resultSelectorOrObservable",
                                      "range": [
                                        1076,
                                        1102
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 23,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 23,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "name": "undefined",
                                      "range": [
                                        1107,
                                        1116
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 23,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 23,
                                          "column": 52
                                        }
                                      }
                                    },
                                    "range": [
                                      1076,
                                      1116
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 52
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "isScheduler",
                                      "range": [
                                        1120,
                                        1131
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 23,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 23,
                                          "column": 67
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "resultSelectorOrObservable",
                                        "range": [
                                          1132,
                                          1158
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 23,
                                            "column": 68
                                          },
                                          "end": {
                                            "line": 23,
                                            "column": 94
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      1120,
                                      1159
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 95
                                      }
                                    }
                                  },
                                  "range": [
                                    1076,
                                    1159
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 95
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": {
                                        "type": "NewExpression",
                                        "callee": {
                                          "type": "Identifier",
                                          "name": "GenerateObservable",
                                          "range": [
                                            1186,
                                            1204
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 24,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 24,
                                              "column": 41
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "initialStateOrOptions",
                                            "range": [
                                              1205,
                                              1226
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 24,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 24,
                                                "column": 63
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "condition",
                                            "range": [
                                              1228,
                                              1237
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 24,
                                                "column": 65
                                              },
                                              "end": {
                                                "line": 24,
                                                "column": 74
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "iterate",
                                            "range": [
                                              1239,
                                              1246
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 24,
                                                "column": 76
                                              },
                                              "end": {
                                                "line": 24,
                                                "column": 83
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "selfSelector",
                                            "range": [
                                              1248,
                                              1260
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 24,
                                                "column": 85
                                              },
                                              "end": {
                                                "line": 24,
                                                "column": 97
                                              }
                                            }
                                          },
                                          {
                                            "type": "Identifier",
                                            "name": "resultSelectorOrObservable",
                                            "range": [
                                              1262,
                                              1288
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 24,
                                                "column": 99
                                              },
                                              "end": {
                                                "line": 24,
                                                "column": 125
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          1182,
                                          1289
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 24,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 24,
                                            "column": 126
                                          }
                                        }
                                      },
                                      "range": [
                                        1175,
                                        1290
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 24,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 24,
                                          "column": 127
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1161,
                                    1300
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 97
                                    },
                                    "end": {
                                      "line": 25,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  1072,
                                  1300
                                ],
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "NewExpression",
                                  "callee": {
                                    "type": "Identifier",
                                    "name": "GenerateObservable",
                                    "range": [
                                      1320,
                                      1338
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 26,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 26,
                                        "column": 37
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "name": "initialStateOrOptions",
                                      "range": [
                                        1339,
                                        1360
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 26,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 26,
                                          "column": 59
                                        }
                                      }
                                    },
                                    {
                                      "type": "Identifier",
                                      "name": "condition",
                                      "range": [
                                        1362,
                                        1371
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 26,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 26,
                                          "column": 70
                                        }
                                      }
                                    },
                                    {
                                      "type": "Identifier",
                                      "name": "iterate",
                                      "range": [
                                        1373,
                                        1380
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 26,
                                          "column": 72
                                        },
                                        "end": {
                                          "line": 26,
                                          "column": 79
                                        }
                                      }
                                    },
                                    {
                                      "type": "Identifier",
                                      "name": "resultSelectorOrObservable",
                                      "range": [
                                        1382,
                                        1408
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 26,
                                          "column": 81
                                        },
                                        "end": {
                                          "line": 26,
                                          "column": 107
                                        }
                                      }
                                    },
                                    {
                                      "type": "Identifier",
                                      "name": "scheduler",
                                      "range": [
                                        1410,
                                        1419
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 26,
                                          "column": 109
                                        },
                                        "end": {
                                          "line": 26,
                                          "column": 118
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1316,
                                    1420
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 26,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 26,
                                      "column": 119
                                    }
                                  }
                                },
                                "range": [
                                  1309,
                                  1421
                                ],
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 120
                                  }
                                }
                              }
                            ],
                            "range": [
                              785,
                              1427
                            ],
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 124
                              },
                              "end": {
                                "line": 27,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            693,
                            1427
                          ],
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 32
                            },
                            "end": {
                              "line": 27,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          665,
                          1427
                        ],
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 4
                          },
                          "end": {
                            "line": 27,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        665,
                        1428
                      ],
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 4
                        },
                        "end": {
                          "line": 27,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "GenerateObservable",
                              "range": [
                                1433,
                                1451
                              ],
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 4
                                },
                                "end": {
                                  "line": 28,
                                  "column": 22
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                1452,
                                1461
                              ],
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 23
                                },
                                "end": {
                                  "line": 28,
                                  "column": 32
                                }
                              }
                            },
                            "range": [
                              1433,
                              1461
                            ],
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 4
                              },
                              "end": {
                                "line": 28,
                                "column": 32
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_subscribe",
                            "range": [
                              1462,
                              1472
                            ],
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 33
                              },
                              "end": {
                                "line": 28,
                                "column": 43
                              }
                            }
                          },
                          "range": [
                            1433,
                            1472
                          ],
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 4
                            },
                            "end": {
                              "line": 28,
                              "column": 43
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "subscriber",
                              "range": [
                                1485,
                                1495
                              ],
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 56
                                },
                                "end": {
                                  "line": 28,
                                  "column": 66
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "state",
                                      "range": [
                                        1511,
                                        1516
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 17
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          1519,
                                          1523
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 29,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 29,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "initialState",
                                        "range": [
                                          1524,
                                          1536
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 29,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 29,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "range": [
                                        1519,
                                        1536
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "range": [
                                      1511,
                                      1536
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 29,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 29,
                                        "column": 37
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  1507,
                                  1537
                                ],
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 38
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      1550,
                                      1554
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 30,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 30,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "scheduler",
                                    "range": [
                                      1555,
                                      1564
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 30,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 30,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "range": [
                                    1550,
                                    1564
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 30,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 30,
                                      "column": 26
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                1587,
                                                1591
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 31,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 31,
                                                  "column": 23
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "scheduler",
                                              "range": [
                                                1592,
                                                1601
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 31,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 31,
                                                  "column": 33
                                                }
                                              }
                                            },
                                            "range": [
                                              1587,
                                              1601
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 31,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 31,
                                                "column": 33
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "schedule",
                                            "range": [
                                              1602,
                                              1610
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 31,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 31,
                                                "column": 42
                                              }
                                            }
                                          },
                                          "range": [
                                            1587,
                                            1610
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 31,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 31,
                                              "column": 42
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "GenerateObservable",
                                              "range": [
                                                1611,
                                                1629
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 31,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 31,
                                                  "column": 61
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "dispatch",
                                              "range": [
                                                1630,
                                                1638
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 31,
                                                  "column": 62
                                                },
                                                "end": {
                                                  "line": 31,
                                                  "column": 70
                                                }
                                              }
                                            },
                                            "range": [
                                              1611,
                                              1638
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 31,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 31,
                                                "column": 70
                                              }
                                            }
                                          },
                                          {
                                            "type": "Literal",
                                            "value": 0,
                                            "raw": "0",
                                            "range": [
                                              1640,
                                              1641
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 31,
                                                "column": 72
                                              },
                                              "end": {
                                                "line": 31,
                                                "column": 73
                                              }
                                            }
                                          },
                                          {
                                            "type": "ObjectExpression",
                                            "properties": [
                                              {
                                                "type": "Property",
                                                "key": {
                                                  "type": "Identifier",
                                                  "name": "subscriber",
                                                  "range": [
                                                    1661,
                                                    1671
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 32,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 32,
                                                      "column": 26
                                                    }
                                                  }
                                                },
                                                "value": {
                                                  "type": "Identifier",
                                                  "name": "subscriber",
                                                  "range": [
                                                    1673,
                                                    1683
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 32,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 32,
                                                      "column": 38
                                                    }
                                                  }
                                                },
                                                "kind": "init",
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "range": [
                                                  1661,
                                                  1683
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 32,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 32,
                                                    "column": 38
                                                  }
                                                }
                                              },
                                              {
                                                "type": "Property",
                                                "key": {
                                                  "type": "Identifier",
                                                  "name": "iterate",
                                                  "range": [
                                                    1701,
                                                    1708
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 33,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 33,
                                                      "column": 23
                                                    }
                                                  }
                                                },
                                                "value": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "range": [
                                                      1710,
                                                      1714
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 33,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 33,
                                                        "column": 29
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "iterate",
                                                    "range": [
                                                      1715,
                                                      1722
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 33,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 33,
                                                        "column": 37
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    1710,
                                                    1722
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 33,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 33,
                                                      "column": 37
                                                    }
                                                  }
                                                },
                                                "kind": "init",
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "range": [
                                                  1701,
                                                  1722
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 33,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 33,
                                                    "column": 37
                                                  }
                                                }
                                              },
                                              {
                                                "type": "Property",
                                                "key": {
                                                  "type": "Identifier",
                                                  "name": "condition",
                                                  "range": [
                                                    1740,
                                                    1749
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 34,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 34,
                                                      "column": 25
                                                    }
                                                  }
                                                },
                                                "value": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "range": [
                                                      1751,
                                                      1755
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 34,
                                                        "column": 27
                                                      },
                                                      "end": {
                                                        "line": 34,
                                                        "column": 31
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "condition",
                                                    "range": [
                                                      1756,
                                                      1765
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 34,
                                                        "column": 32
                                                      },
                                                      "end": {
                                                        "line": 34,
                                                        "column": 41
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    1751,
                                                    1765
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 34,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 34,
                                                      "column": 41
                                                    }
                                                  }
                                                },
                                                "kind": "init",
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "range": [
                                                  1740,
                                                  1765
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 34,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 34,
                                                    "column": 41
                                                  }
                                                }
                                              },
                                              {
                                                "type": "Property",
                                                "key": {
                                                  "type": "Identifier",
                                                  "name": "resultSelector",
                                                  "range": [
                                                    1783,
                                                    1797
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 35,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 35,
                                                      "column": 30
                                                    }
                                                  }
                                                },
                                                "value": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "range": [
                                                      1799,
                                                      1803
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 35,
                                                        "column": 32
                                                      },
                                                      "end": {
                                                        "line": 35,
                                                        "column": 36
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "resultSelector",
                                                    "range": [
                                                      1804,
                                                      1818
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 35,
                                                        "column": 37
                                                      },
                                                      "end": {
                                                        "line": 35,
                                                        "column": 51
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    1799,
                                                    1818
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 35,
                                                      "column": 32
                                                    },
                                                    "end": {
                                                      "line": 35,
                                                      "column": 51
                                                    }
                                                  }
                                                },
                                                "kind": "init",
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "range": [
                                                  1783,
                                                  1818
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 35,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 35,
                                                    "column": 51
                                                  }
                                                }
                                              },
                                              {
                                                "type": "Property",
                                                "key": {
                                                  "type": "Identifier",
                                                  "name": "state",
                                                  "range": [
                                                    1836,
                                                    1841
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 36,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 36,
                                                      "column": 21
                                                    }
                                                  }
                                                },
                                                "value": {
                                                  "type": "Identifier",
                                                  "name": "state",
                                                  "range": [
                                                    1843,
                                                    1848
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 36,
                                                      "column": 23
                                                    },
                                                    "end": {
                                                      "line": 36,
                                                      "column": 28
                                                    }
                                                  }
                                                },
                                                "kind": "init",
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "range": [
                                                  1836,
                                                  1848
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 36,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 36,
                                                    "column": 28
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              1643,
                                              1850
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 31,
                                                "column": 75
                                              },
                                              "end": {
                                                "line": 36,
                                                "column": 30
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          1587,
                                          1851
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 31,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 36,
                                            "column": 31
                                          }
                                        }
                                      },
                                      "range": [
                                        1580,
                                        1852
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 31,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 36,
                                          "column": 32
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1566,
                                    1862
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 30,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  1546,
                                  1862
                                ],
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "_a",
                                      "range": [
                                        1875,
                                        1877
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 14
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "ThisExpression",
                                      "range": [
                                        1880,
                                        1884
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "range": [
                                      1875,
                                      1884
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 21
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "condition",
                                      "range": [
                                        1886,
                                        1895
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "_a",
                                        "range": [
                                          1898,
                                          1900
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "condition",
                                        "range": [
                                          1901,
                                          1910
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "range": [
                                        1898,
                                        1910
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 47
                                        }
                                      }
                                    },
                                    "range": [
                                      1886,
                                      1910
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 47
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "resultSelector",
                                      "range": [
                                        1912,
                                        1926
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 63
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "_a",
                                        "range": [
                                          1929,
                                          1931
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 66
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 68
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "resultSelector",
                                        "range": [
                                          1932,
                                          1946
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 69
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 83
                                          }
                                        }
                                      },
                                      "range": [
                                        1929,
                                        1946
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 66
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 83
                                        }
                                      }
                                    },
                                    "range": [
                                      1912,
                                      1946
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 83
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "iterate",
                                      "range": [
                                        1948,
                                        1955
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 85
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 92
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "_a",
                                        "range": [
                                          1958,
                                          1960
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 95
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 97
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "iterate",
                                        "range": [
                                          1961,
                                          1968
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 98
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 105
                                          }
                                        }
                                      },
                                      "range": [
                                        1958,
                                        1968
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 95
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 105
                                        }
                                      }
                                    },
                                    "range": [
                                      1948,
                                      1968
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 38,
                                        "column": 85
                                      },
                                      "end": {
                                        "line": 38,
                                        "column": 105
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  1871,
                                  1969
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 106
                                  }
                                }
                              },
                              {
                                "type": "DoWhileStatement",
                                "body": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "IfStatement",
                                      "test": {
                                        "type": "Identifier",
                                        "name": "condition",
                                        "range": [
                                          1999,
                                          2008
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 40,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 40,
                                            "column": 25
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "VariableDeclaration",
                                            "declarations": [
                                              {
                                                "type": "VariableDeclarator",
                                                "id": {
                                                  "type": "Identifier",
                                                  "name": "conditionResult",
                                                  "range": [
                                                    2032,
                                                    2047
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 41,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 41,
                                                      "column": 35
                                                    }
                                                  }
                                                },
                                                "init": {
                                                  "type": "UnaryExpression",
                                                  "operator": "void",
                                                  "argument": {
                                                    "type": "Literal",
                                                    "value": 0,
                                                    "raw": "0",
                                                    "range": [
                                                      2055,
                                                      2056
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 41,
                                                        "column": 43
                                                      },
                                                      "end": {
                                                        "line": 41,
                                                        "column": 44
                                                      }
                                                    }
                                                  },
                                                  "prefix": true,
                                                  "range": [
                                                    2050,
                                                    2056
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 41,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 41,
                                                      "column": 44
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  2032,
                                                  2056
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 41,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 41,
                                                    "column": 44
                                                  }
                                                }
                                              }
                                            ],
                                            "kind": "var",
                                            "range": [
                                              2028,
                                              2057
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 41,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 41,
                                                "column": 45
                                              }
                                            }
                                          },
                                          {
                                            "type": "TryStatement",
                                            "block": {
                                              "type": "BlockStatement",
                                              "body": [
                                                {
                                                  "type": "ExpressionStatement",
                                                  "expression": {
                                                    "type": "AssignmentExpression",
                                                    "operator": "=",
                                                    "left": {
                                                      "type": "Identifier",
                                                      "name": "conditionResult",
                                                      "range": [
                                                        2100,
                                                        2115
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 43,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 43,
                                                          "column": 35
                                                        }
                                                      }
                                                    },
                                                    "right": {
                                                      "type": "CallExpression",
                                                      "callee": {
                                                        "type": "Identifier",
                                                        "name": "condition",
                                                        "range": [
                                                          2118,
                                                          2127
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 43,
                                                            "column": 38
                                                          },
                                                          "end": {
                                                            "line": 43,
                                                            "column": 47
                                                          }
                                                        }
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "name": "state",
                                                          "range": [
                                                            2128,
                                                            2133
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 43,
                                                              "column": 48
                                                            },
                                                            "end": {
                                                              "line": 43,
                                                              "column": 53
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        2118,
                                                        2134
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 43,
                                                          "column": 38
                                                        },
                                                        "end": {
                                                          "line": 43,
                                                          "column": 54
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      2100,
                                                      2134
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 43,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 43,
                                                        "column": 54
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    2100,
                                                    2135
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 43,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 43,
                                                      "column": 55
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                2078,
                                                2153
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 42,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 44,
                                                  "column": 17
                                                }
                                              }
                                            },
                                            "handler": {
                                              "type": "CatchClause",
                                              "param": {
                                                "type": "Identifier",
                                                "name": "err",
                                                "range": [
                                                  2177,
                                                  2180
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 45,
                                                    "column": 23
                                                  },
                                                  "end": {
                                                    "line": 45,
                                                    "column": 26
                                                  }
                                                }
                                              },
                                              "body": {
                                                "type": "BlockStatement",
                                                "body": [
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "expression": {
                                                      "type": "CallExpression",
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "subscriber",
                                                          "range": [
                                                            2204,
                                                            2214
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 46,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 46,
                                                              "column": 30
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "error",
                                                          "range": [
                                                            2215,
                                                            2220
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 46,
                                                              "column": 31
                                                            },
                                                            "end": {
                                                              "line": 46,
                                                              "column": 36
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          2204,
                                                          2220
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 46,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 46,
                                                            "column": 36
                                                          }
                                                        }
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "name": "err",
                                                          "range": [
                                                            2221,
                                                            2224
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 46,
                                                              "column": 37
                                                            },
                                                            "end": {
                                                              "line": 46,
                                                              "column": 40
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        2204,
                                                        2225
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 46,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 46,
                                                          "column": 41
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      2204,
                                                      2226
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 46,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 46,
                                                        "column": 42
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "type": "ReturnStatement",
                                                    "argument": null,
                                                    "range": [
                                                      2247,
                                                      2254
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 47,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 47,
                                                        "column": 27
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  2182,
                                                  2272
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 45,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 48,
                                                    "column": 17
                                                  }
                                                }
                                              },
                                              "range": [
                                                2170,
                                                2272
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 45,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 48,
                                                  "column": 17
                                                }
                                              }
                                            },
                                            "finalizer": null,
                                            "range": [
                                              2074,
                                              2272
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 42,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 48,
                                                "column": 17
                                              }
                                            }
                                          },
                                          {
                                            "type": "IfStatement",
                                            "test": {
                                              "type": "UnaryExpression",
                                              "operator": "!",
                                              "argument": {
                                                "type": "Identifier",
                                                "name": "conditionResult",
                                                "range": [
                                                  2294,
                                                  2309
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 49,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 49,
                                                    "column": 36
                                                  }
                                                }
                                              },
                                              "prefix": true,
                                              "range": [
                                                2293,
                                                2309
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 49,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 49,
                                                  "column": 36
                                                }
                                              }
                                            },
                                            "consequent": {
                                              "type": "BlockStatement",
                                              "body": [
                                                {
                                                  "type": "ExpressionStatement",
                                                  "expression": {
                                                    "type": "CallExpression",
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "subscriber",
                                                        "range": [
                                                          2333,
                                                          2343
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 50,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 50,
                                                            "column": 30
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "complete",
                                                        "range": [
                                                          2344,
                                                          2352
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 50,
                                                            "column": 31
                                                          },
                                                          "end": {
                                                            "line": 50,
                                                            "column": 39
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        2333,
                                                        2352
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 50,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 50,
                                                          "column": 39
                                                        }
                                                      }
                                                    },
                                                    "arguments": [],
                                                    "range": [
                                                      2333,
                                                      2354
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 50,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 50,
                                                        "column": 41
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    2333,
                                                    2355
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 50,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 50,
                                                      "column": 42
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "BreakStatement",
                                                  "label": null,
                                                  "range": [
                                                    2376,
                                                    2382
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 51,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 51,
                                                      "column": 26
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                2311,
                                                2400
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 49,
                                                  "column": 38
                                                },
                                                "end": {
                                                  "line": 52,
                                                  "column": 17
                                                }
                                              }
                                            },
                                            "alternate": null,
                                            "range": [
                                              2289,
                                              2400
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 49,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 52,
                                                "column": 17
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2010,
                                          2414
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 40,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 53,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "alternate": null,
                                      "range": [
                                        1995,
                                        2414
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 40,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 53,
                                          "column": 13
                                        }
                                      }
                                    },
                                    {
                                      "type": "VariableDeclaration",
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "id": {
                                            "type": "Identifier",
                                            "name": "value",
                                            "range": [
                                              2431,
                                              2436
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 54,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 54,
                                                "column": 21
                                              }
                                            }
                                          },
                                          "init": {
                                            "type": "UnaryExpression",
                                            "operator": "void",
                                            "argument": {
                                              "type": "Literal",
                                              "value": 0,
                                              "raw": "0",
                                              "range": [
                                                2444,
                                                2445
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 54,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 54,
                                                  "column": 30
                                                }
                                              }
                                            },
                                            "prefix": true,
                                            "range": [
                                              2439,
                                              2445
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 54,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 54,
                                                "column": 30
                                              }
                                            }
                                          },
                                          "range": [
                                            2431,
                                            2445
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 54,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 54,
                                              "column": 30
                                            }
                                          }
                                        }
                                      ],
                                      "kind": "var",
                                      "range": [
                                        2427,
                                        2446
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 54,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 54,
                                          "column": 31
                                        }
                                      }
                                    },
                                    {
                                      "type": "TryStatement",
                                      "block": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "operator": "=",
                                              "left": {
                                                "type": "Identifier",
                                                "name": "value",
                                                "range": [
                                                  2481,
                                                  2486
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 56,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 56,
                                                    "column": 21
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "Identifier",
                                                  "name": "resultSelector",
                                                  "range": [
                                                    2489,
                                                    2503
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 56,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 56,
                                                      "column": 38
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "name": "state",
                                                    "range": [
                                                      2504,
                                                      2509
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 56,
                                                        "column": 39
                                                      },
                                                      "end": {
                                                        "line": 56,
                                                        "column": 44
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  2489,
                                                  2510
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 56,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 56,
                                                    "column": 45
                                                  }
                                                }
                                              },
                                              "range": [
                                                2481,
                                                2510
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 56,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 56,
                                                  "column": 45
                                                }
                                              }
                                            },
                                            "range": [
                                              2481,
                                              2511
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 56,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 56,
                                                "column": 46
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2463,
                                          2525
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 55,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 57,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "handler": {
                                        "type": "CatchClause",
                                        "param": {
                                          "type": "Identifier",
                                          "name": "err",
                                          "range": [
                                            2545,
                                            2548
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 58,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 58,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "body": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "expression": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "subscriber",
                                                    "range": [
                                                      2568,
                                                      2578
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 59,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 59,
                                                        "column": 26
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "error",
                                                    "range": [
                                                      2579,
                                                      2584
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 59,
                                                        "column": 27
                                                      },
                                                      "end": {
                                                        "line": 59,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    2568,
                                                    2584
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 59,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 59,
                                                      "column": 32
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "name": "err",
                                                    "range": [
                                                      2585,
                                                      2588
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 59,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 59,
                                                        "column": 36
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  2568,
                                                  2589
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 59,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 59,
                                                    "column": 37
                                                  }
                                                }
                                              },
                                              "range": [
                                                2568,
                                                2590
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 59,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 59,
                                                  "column": 38
                                                }
                                              }
                                            },
                                            {
                                              "type": "ReturnStatement",
                                              "argument": null,
                                              "range": [
                                                2607,
                                                2614
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 60,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 60,
                                                  "column": 23
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            2550,
                                            2628
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 58,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 61,
                                              "column": 13
                                            }
                                          }
                                        },
                                        "range": [
                                          2538,
                                          2628
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 61,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "finalizer": null,
                                      "range": [
                                        2459,
                                        2628
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 55,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 61,
                                          "column": 13
                                        }
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "subscriber",
                                            "range": [
                                              2641,
                                              2651
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 22
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "next",
                                            "range": [
                                              2652,
                                              2656
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 27
                                              }
                                            }
                                          },
                                          "range": [
                                            2641,
                                            2656
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 62,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 62,
                                              "column": 27
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "value",
                                            "range": [
                                              2657,
                                              2662
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 62,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 62,
                                                "column": 33
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2641,
                                          2663
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 62,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 62,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "range": [
                                        2641,
                                        2664
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 35
                                        }
                                      }
                                    },
                                    {
                                      "type": "IfStatement",
                                      "test": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "subscriber",
                                          "range": [
                                            2681,
                                            2691
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "closed",
                                          "range": [
                                            2692,
                                            2698
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 33
                                            }
                                          }
                                        },
                                        "range": [
                                          2681,
                                          2698
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 63,
                                            "column": 33
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "BreakStatement",
                                            "label": null,
                                            "range": [
                                              2718,
                                              2724
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 64,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 64,
                                                "column": 22
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2700,
                                          2738
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 65,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "alternate": null,
                                      "range": [
                                        2677,
                                        2738
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 63,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 13
                                        }
                                      }
                                    },
                                    {
                                      "type": "TryStatement",
                                      "block": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "operator": "=",
                                              "left": {
                                                "type": "Identifier",
                                                "name": "state",
                                                "range": [
                                                  2773,
                                                  2778
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 67,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 67,
                                                    "column": 21
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "Identifier",
                                                  "name": "iterate",
                                                  "range": [
                                                    2781,
                                                    2788
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 67,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 67,
                                                      "column": 31
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "name": "state",
                                                    "range": [
                                                      2789,
                                                      2794
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 67,
                                                        "column": 32
                                                      },
                                                      "end": {
                                                        "line": 67,
                                                        "column": 37
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  2781,
                                                  2795
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 67,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 67,
                                                    "column": 38
                                                  }
                                                }
                                              },
                                              "range": [
                                                2773,
                                                2795
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 67,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 67,
                                                  "column": 38
                                                }
                                              }
                                            },
                                            "range": [
                                              2773,
                                              2796
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 39
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2755,
                                          2810
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 66,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "handler": {
                                        "type": "CatchClause",
                                        "param": {
                                          "type": "Identifier",
                                          "name": "err",
                                          "range": [
                                            2830,
                                            2833
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 69,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 69,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "body": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "expression": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "subscriber",
                                                    "range": [
                                                      2853,
                                                      2863
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 70,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 70,
                                                        "column": 26
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "error",
                                                    "range": [
                                                      2864,
                                                      2869
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 70,
                                                        "column": 27
                                                      },
                                                      "end": {
                                                        "line": 70,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    2853,
                                                    2869
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 70,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 70,
                                                      "column": 32
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "name": "err",
                                                    "range": [
                                                      2870,
                                                      2873
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 70,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 70,
                                                        "column": 36
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  2853,
                                                  2874
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 70,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 70,
                                                    "column": 37
                                                  }
                                                }
                                              },
                                              "range": [
                                                2853,
                                                2875
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 70,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 70,
                                                  "column": 38
                                                }
                                              }
                                            },
                                            {
                                              "type": "ReturnStatement",
                                              "argument": null,
                                              "range": [
                                                2892,
                                                2899
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 71,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 71,
                                                  "column": 23
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            2835,
                                            2913
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 69,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 72,
                                              "column": 13
                                            }
                                          }
                                        },
                                        "range": [
                                          2823,
                                          2913
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 72,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "finalizer": null,
                                      "range": [
                                        2751,
                                        2913
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 66,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 72,
                                          "column": 13
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1981,
                                    2923
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 9
                                    }
                                  }
                                },
                                "test": {
                                  "type": "Literal",
                                  "value": true,
                                  "raw": "true",
                                  "range": [
                                    2931,
                                    2935
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 21
                                    }
                                  }
                                },
                                "range": [
                                  1978,
                                  2937
                                ],
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 23
                                  }
                                }
                              }
                            ],
                            "range": [
                              1497,
                              2943
                            ],
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 68
                              },
                              "end": {
                                "line": 74,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            1475,
                            2943
                          ],
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 46
                            },
                            "end": {
                              "line": 74,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          1433,
                          2943
                        ],
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 4
                          },
                          "end": {
                            "line": 74,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1433,
                        2944
                      ],
                      "loc": {
                        "start": {
                          "line": 28,
                          "column": 4
                        },
                        "end": {
                          "line": 74,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "GenerateObservable",
                            "range": [
                              2949,
                              2967
                            ],
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 4
                              },
                              "end": {
                                "line": 75,
                                "column": 22
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "dispatch",
                            "range": [
                              2968,
                              2976
                            ],
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 23
                              },
                              "end": {
                                "line": 75,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            2949,
                            2976
                          ],
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 4
                            },
                            "end": {
                              "line": 75,
                              "column": 31
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "state",
                              "range": [
                                2989,
                                2994
                              ],
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 44
                                },
                                "end": {
                                  "line": 75,
                                  "column": 49
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "subscriber",
                                      "range": [
                                        3010,
                                        3020
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 76,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 76,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "state",
                                        "range": [
                                          3023,
                                          3028
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 76,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 76,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "subscriber",
                                        "range": [
                                          3029,
                                          3039
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 76,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 76,
                                            "column": 41
                                          }
                                        }
                                      },
                                      "range": [
                                        3023,
                                        3039
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 76,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 76,
                                          "column": 41
                                        }
                                      }
                                    },
                                    "range": [
                                      3010,
                                      3039
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 76,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 76,
                                        "column": 41
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "condition",
                                      "range": [
                                        3041,
                                        3050
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 76,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 76,
                                          "column": 52
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "state",
                                        "range": [
                                          3053,
                                          3058
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 76,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 76,
                                            "column": 60
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "condition",
                                        "range": [
                                          3059,
                                          3068
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 76,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 76,
                                            "column": 70
                                          }
                                        }
                                      },
                                      "range": [
                                        3053,
                                        3068
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 76,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 76,
                                          "column": 70
                                        }
                                      }
                                    },
                                    "range": [
                                      3041,
                                      3068
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 76,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 76,
                                        "column": 70
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  3006,
                                  3069
                                ],
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 71
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "subscriber",
                                    "range": [
                                      3082,
                                      3092
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 77,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 77,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "closed",
                                    "range": [
                                      3093,
                                      3099
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 77,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 77,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "range": [
                                    3082,
                                    3099
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 29
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": null,
                                      "range": [
                                        3115,
                                        3122
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 19
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3101,
                                    3132
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  3078,
                                  3132
                                ],
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "state",
                                    "range": [
                                      3145,
                                      3150
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "needIterate",
                                    "range": [
                                      3151,
                                      3162
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "range": [
                                    3145,
                                    3162
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 29
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "TryStatement",
                                      "block": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "operator": "=",
                                              "left": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "state",
                                                  "range": [
                                                    3200,
                                                    3205
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 82,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 82,
                                                      "column": 21
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "state",
                                                  "range": [
                                                    3206,
                                                    3211
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 82,
                                                      "column": 22
                                                    },
                                                    "end": {
                                                      "line": 82,
                                                      "column": 27
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3200,
                                                  3211
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 82,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 82,
                                                    "column": 27
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "state",
                                                    "range": [
                                                      3214,
                                                      3219
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 82,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 82,
                                                        "column": 35
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "iterate",
                                                    "range": [
                                                      3220,
                                                      3227
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 82,
                                                        "column": 36
                                                      },
                                                      "end": {
                                                        "line": 82,
                                                        "column": 43
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    3214,
                                                    3227
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 82,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 82,
                                                      "column": 43
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "state",
                                                      "range": [
                                                        3228,
                                                        3233
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 82,
                                                          "column": 44
                                                        },
                                                        "end": {
                                                          "line": 82,
                                                          "column": 49
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "state",
                                                      "range": [
                                                        3234,
                                                        3239
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 82,
                                                          "column": 50
                                                        },
                                                        "end": {
                                                          "line": 82,
                                                          "column": 55
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      3228,
                                                      3239
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 82,
                                                        "column": 44
                                                      },
                                                      "end": {
                                                        "line": 82,
                                                        "column": 55
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  3214,
                                                  3240
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 82,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 82,
                                                    "column": 56
                                                  }
                                                }
                                              },
                                              "range": [
                                                3200,
                                                3240
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 82,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 82,
                                                  "column": 56
                                                }
                                              }
                                            },
                                            "range": [
                                              3200,
                                              3241
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 82,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 82,
                                                "column": 57
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          3182,
                                          3255
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 81,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 83,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "handler": {
                                        "type": "CatchClause",
                                        "param": {
                                          "type": "Identifier",
                                          "name": "err",
                                          "range": [
                                            3275,
                                            3278
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 84,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 84,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "body": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "expression": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "subscriber",
                                                    "range": [
                                                      3298,
                                                      3308
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 85,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 85,
                                                        "column": 26
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "error",
                                                    "range": [
                                                      3309,
                                                      3314
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 85,
                                                        "column": 27
                                                      },
                                                      "end": {
                                                        "line": 85,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    3298,
                                                    3314
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 85,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 85,
                                                      "column": 32
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "name": "err",
                                                    "range": [
                                                      3315,
                                                      3318
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 85,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 85,
                                                        "column": 36
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  3298,
                                                  3319
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 85,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 85,
                                                    "column": 37
                                                  }
                                                }
                                              },
                                              "range": [
                                                3298,
                                                3320
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 85,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 85,
                                                  "column": 38
                                                }
                                              }
                                            },
                                            {
                                              "type": "ReturnStatement",
                                              "argument": null,
                                              "range": [
                                                3337,
                                                3344
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 86,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 86,
                                                  "column": 23
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            3280,
                                            3358
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 84,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 87,
                                              "column": 13
                                            }
                                          }
                                        },
                                        "range": [
                                          3268,
                                          3358
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 84,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 87,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "finalizer": null,
                                      "range": [
                                        3178,
                                        3358
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 81,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 13
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3164,
                                    3368
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "state",
                                            "range": [
                                              3396,
                                              3401
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 17
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "needIterate",
                                            "range": [
                                              3402,
                                              3413
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 18
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "range": [
                                            3396,
                                            3413
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 29
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Literal",
                                          "value": true,
                                          "raw": "true",
                                          "range": [
                                            3416,
                                            3420
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 36
                                            }
                                          }
                                        },
                                        "range": [
                                          3396,
                                          3420
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 36
                                          }
                                        }
                                      },
                                      "range": [
                                        3396,
                                        3421
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 37
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3382,
                                    3431
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 89,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  3141,
                                  3431
                                ],
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 91,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "Identifier",
                                  "name": "condition",
                                  "range": [
                                    3444,
                                    3453
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 21
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "id": {
                                            "type": "Identifier",
                                            "name": "conditionResult",
                                            "range": [
                                              3473,
                                              3488
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 93,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 93,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "init": {
                                            "type": "UnaryExpression",
                                            "operator": "void",
                                            "argument": {
                                              "type": "Literal",
                                              "value": 0,
                                              "raw": "0",
                                              "range": [
                                                3496,
                                                3497
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 93,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 93,
                                                  "column": 40
                                                }
                                              }
                                            },
                                            "prefix": true,
                                            "range": [
                                              3491,
                                              3497
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 93,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 93,
                                                "column": 40
                                              }
                                            }
                                          },
                                          "range": [
                                            3473,
                                            3497
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 93,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 93,
                                              "column": 40
                                            }
                                          }
                                        }
                                      ],
                                      "kind": "var",
                                      "range": [
                                        3469,
                                        3498
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 93,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 93,
                                          "column": 41
                                        }
                                      }
                                    },
                                    {
                                      "type": "TryStatement",
                                      "block": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "operator": "=",
                                              "left": {
                                                "type": "Identifier",
                                                "name": "conditionResult",
                                                "range": [
                                                  3533,
                                                  3548
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 31
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "Identifier",
                                                  "name": "condition",
                                                  "range": [
                                                    3551,
                                                    3560
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 95,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 95,
                                                      "column": 43
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "state",
                                                      "range": [
                                                        3561,
                                                        3566
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 95,
                                                          "column": 44
                                                        },
                                                        "end": {
                                                          "line": 95,
                                                          "column": 49
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "state",
                                                      "range": [
                                                        3567,
                                                        3572
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 95,
                                                          "column": 50
                                                        },
                                                        "end": {
                                                          "line": 95,
                                                          "column": 55
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      3561,
                                                      3572
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 95,
                                                        "column": 44
                                                      },
                                                      "end": {
                                                        "line": 95,
                                                        "column": 55
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  3551,
                                                  3573
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 95,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 95,
                                                    "column": 56
                                                  }
                                                }
                                              },
                                              "range": [
                                                3533,
                                                3573
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 56
                                                }
                                              }
                                            },
                                            "range": [
                                              3533,
                                              3574
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 57
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          3515,
                                          3588
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 94,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 96,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "handler": {
                                        "type": "CatchClause",
                                        "param": {
                                          "type": "Identifier",
                                          "name": "err",
                                          "range": [
                                            3608,
                                            3611
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 97,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 97,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "body": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "expression": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "subscriber",
                                                    "range": [
                                                      3631,
                                                      3641
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 98,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 98,
                                                        "column": 26
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "error",
                                                    "range": [
                                                      3642,
                                                      3647
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 98,
                                                        "column": 27
                                                      },
                                                      "end": {
                                                        "line": 98,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    3631,
                                                    3647
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 98,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 98,
                                                      "column": 32
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "name": "err",
                                                    "range": [
                                                      3648,
                                                      3651
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 98,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 98,
                                                        "column": 36
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  3631,
                                                  3652
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 98,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 98,
                                                    "column": 37
                                                  }
                                                }
                                              },
                                              "range": [
                                                3631,
                                                3653
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 98,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 98,
                                                  "column": 38
                                                }
                                              }
                                            },
                                            {
                                              "type": "ReturnStatement",
                                              "argument": null,
                                              "range": [
                                                3670,
                                                3677
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 99,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 99,
                                                  "column": 23
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            3613,
                                            3691
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 97,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 100,
                                              "column": 13
                                            }
                                          }
                                        },
                                        "range": [
                                          3601,
                                          3691
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 97,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 100,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "finalizer": null,
                                      "range": [
                                        3511,
                                        3691
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 100,
                                          "column": 13
                                        }
                                      }
                                    },
                                    {
                                      "type": "IfStatement",
                                      "test": {
                                        "type": "UnaryExpression",
                                        "operator": "!",
                                        "argument": {
                                          "type": "Identifier",
                                          "name": "conditionResult",
                                          "range": [
                                            3709,
                                            3724
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 101,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 101,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "prefix": true,
                                        "range": [
                                          3708,
                                          3724
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 101,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 101,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "subscriber",
                                                  "range": [
                                                    3744,
                                                    3754
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 102,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 102,
                                                      "column": 26
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "complete",
                                                  "range": [
                                                    3755,
                                                    3763
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 102,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 102,
                                                      "column": 35
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3744,
                                                  3763
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 102,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 102,
                                                    "column": 35
                                                  }
                                                }
                                              },
                                              "arguments": [],
                                              "range": [
                                                3744,
                                                3765
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 102,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 102,
                                                  "column": 37
                                                }
                                              }
                                            },
                                            "range": [
                                              3744,
                                              3766
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 102,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 102,
                                                "column": 38
                                              }
                                            }
                                          },
                                          {
                                            "type": "ReturnStatement",
                                            "argument": null,
                                            "range": [
                                              3783,
                                              3790
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 23
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          3726,
                                          3804
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 101,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 104,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "alternate": null,
                                      "range": [
                                        3704,
                                        3804
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 101,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 13
                                        }
                                      }
                                    },
                                    {
                                      "type": "IfStatement",
                                      "test": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "subscriber",
                                          "range": [
                                            3821,
                                            3831
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 105,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 105,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "closed",
                                          "range": [
                                            3832,
                                            3838
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 105,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 105,
                                              "column": 33
                                            }
                                          }
                                        },
                                        "range": [
                                          3821,
                                          3838
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 105,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 105,
                                            "column": 33
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ReturnStatement",
                                            "argument": null,
                                            "range": [
                                              3858,
                                              3865
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 106,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 106,
                                                "column": 23
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          3840,
                                          3879
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 105,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 107,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "alternate": null,
                                      "range": [
                                        3817,
                                        3879
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 105,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 13
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3455,
                                    3889
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 108,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  3440,
                                  3889
                                ],
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 108,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "value",
                                      "range": [
                                        3902,
                                        3907
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 109,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 109,
                                          "column": 17
                                        }
                                      }
                                    },
                                    "init": null,
                                    "range": [
                                      3902,
                                      3907
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 17
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  3898,
                                  3908
                                ],
                                "loc": {
                                  "start": {
                                    "line": 109,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 109,
                                    "column": 18
                                  }
                                }
                              },
                              {
                                "type": "TryStatement",
                                "block": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "name": "value",
                                          "range": [
                                            3935,
                                            3940
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 17
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "state",
                                              "range": [
                                                3943,
                                                3948
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 111,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 111,
                                                  "column": 25
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "resultSelector",
                                              "range": [
                                                3949,
                                                3963
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 111,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 111,
                                                  "column": 40
                                                }
                                              }
                                            },
                                            "range": [
                                              3943,
                                              3963
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 111,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 111,
                                                "column": 40
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "state",
                                                "range": [
                                                  3964,
                                                  3969
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 111,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 111,
                                                    "column": 46
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "state",
                                                "range": [
                                                  3970,
                                                  3975
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 111,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 111,
                                                    "column": 52
                                                  }
                                                }
                                              },
                                              "range": [
                                                3964,
                                                3975
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 111,
                                                  "column": 41
                                                },
                                                "end": {
                                                  "line": 111,
                                                  "column": 52
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            3943,
                                            3976
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 53
                                            }
                                          }
                                        },
                                        "range": [
                                          3935,
                                          3976
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 53
                                          }
                                        }
                                      },
                                      "range": [
                                        3935,
                                        3977
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 54
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3921,
                                    3987
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 110,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 112,
                                      "column": 9
                                    }
                                  }
                                },
                                "handler": {
                                  "type": "CatchClause",
                                  "param": {
                                    "type": "Identifier",
                                    "name": "err",
                                    "range": [
                                      4003,
                                      4006
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 113,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 113,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "body": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "subscriber",
                                              "range": [
                                                4022,
                                                4032
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 114,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 114,
                                                  "column": 22
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "error",
                                              "range": [
                                                4033,
                                                4038
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 114,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 114,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "range": [
                                              4022,
                                              4038
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 114,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 114,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "name": "err",
                                              "range": [
                                                4039,
                                                4042
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 114,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 114,
                                                  "column": 32
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            4022,
                                            4043
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 114,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 114,
                                              "column": 33
                                            }
                                          }
                                        },
                                        "range": [
                                          4022,
                                          4044
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 114,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 114,
                                            "column": 34
                                          }
                                        }
                                      },
                                      {
                                        "type": "ReturnStatement",
                                        "argument": null,
                                        "range": [
                                          4057,
                                          4064
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 115,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 115,
                                            "column": 19
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      4008,
                                      4074
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 113,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 116,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "range": [
                                    3996,
                                    4074
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 113,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 9
                                    }
                                  }
                                },
                                "finalizer": null,
                                "range": [
                                  3917,
                                  4074
                                ],
                                "loc": {
                                  "start": {
                                    "line": 110,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "subscriber",
                                    "range": [
                                      4087,
                                      4097
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 117,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 117,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "closed",
                                    "range": [
                                      4098,
                                      4104
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 117,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 117,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "range": [
                                    4087,
                                    4104
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 117,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 117,
                                      "column": 29
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": null,
                                      "range": [
                                        4120,
                                        4127
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 118,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 19
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    4106,
                                    4137
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 117,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 119,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  4083,
                                  4137
                                ],
                                "loc": {
                                  "start": {
                                    "line": 117,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "subscriber",
                                      "range": [
                                        4146,
                                        4156
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 18
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "next",
                                      "range": [
                                        4157,
                                        4161
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "range": [
                                      4146,
                                      4161
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "name": "value",
                                      "range": [
                                        4162,
                                        4167
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 29
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    4146,
                                    4168
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 30
                                    }
                                  }
                                },
                                "range": [
                                  4146,
                                  4169
                                ],
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 31
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "subscriber",
                                    "range": [
                                      4182,
                                      4192
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 121,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 121,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "closed",
                                    "range": [
                                      4193,
                                      4199
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 121,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 121,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "range": [
                                    4182,
                                    4199
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 121,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 121,
                                      "column": 29
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": null,
                                      "range": [
                                        4215,
                                        4222
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 122,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 122,
                                          "column": 19
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    4201,
                                    4232
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 121,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 123,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  4178,
                                  4232
                                ],
                                "loc": {
                                  "start": {
                                    "line": 121,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 123,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4248,
                                        4252
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "schedule",
                                      "range": [
                                        4253,
                                        4261
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "range": [
                                      4248,
                                      4261
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 124,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 124,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "name": "state",
                                      "range": [
                                        4262,
                                        4267
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 34
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    4248,
                                    4268
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 124,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 124,
                                      "column": 35
                                    }
                                  }
                                },
                                "range": [
                                  4241,
                                  4269
                                ],
                                "loc": {
                                  "start": {
                                    "line": 124,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 124,
                                    "column": 36
                                  }
                                }
                              }
                            ],
                            "range": [
                              2996,
                              4275
                            ],
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 51
                              },
                              "end": {
                                "line": 125,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            2979,
                            4275
                          ],
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 34
                            },
                            "end": {
                              "line": 125,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          2949,
                          4275
                        ],
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 4
                          },
                          "end": {
                            "line": 125,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2949,
                        4276
                      ],
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 4
                        },
                        "end": {
                          "line": 125,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "GenerateObservable",
                        "range": [
                          4288,
                          4306
                        ],
                        "loc": {
                          "start": {
                            "line": 126,
                            "column": 11
                          },
                          "end": {
                            "line": 126,
                            "column": 29
                          }
                        }
                      },
                      "range": [
                        4281,
                        4307
                      ],
                      "loc": {
                        "start": {
                          "line": 126,
                          "column": 4
                        },
                        "end": {
                          "line": 126,
                          "column": 30
                        }
                      }
                    }
                  ],
                  "range": [
                    296,
                    4309
                  ],
                  "loc": {
                    "start": {
                      "line": 9,
                      "column": 51
                    },
                    "end": {
                      "line": 127,
                      "column": 1
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  278,
                  4309
                ],
                "loc": {
                  "start": {
                    "line": 9,
                    "column": 33
                  },
                  "end": {
                    "line": 127,
                    "column": 1
                  }
                }
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "name": "Observable",
                  "range": [
                    4310,
                    4320
                  ],
                  "loc": {
                    "start": {
                      "line": 127,
                      "column": 2
                    },
                    "end": {
                      "line": 127,
                      "column": 12
                    }
                  }
                }
              ],
              "range": [
                278,
                4321
              ],
              "loc": {
                "start": {
                  "line": 9,
                  "column": 33
                },
                "end": {
                  "line": 127,
                  "column": 13
                }
              }
            },
            "range": [
              256,
              4322
            ],
            "loc": {
              "start": {
                "line": 9,
                "column": 11
              },
              "end": {
                "line": 127,
                "column": 14
              }
            }
          }
        ],
        "kind": "var",
        "range": [
          252,
          4323
        ],
        "loc": {
          "start": {
            "line": 9,
            "column": 7
          },
          "end": {
            "line": 127,
            "column": 15
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n ",
            "range": [
              150,
              244
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 0
              },
              "end": {
                "line": 8,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Line",
            "value": "# sourceMappingURL=GenerateObservable.js.map",
            "range": [
              4324,
              4370
            ],
            "loc": {
              "start": {
                "line": 128,
                "column": 0
              },
              "end": {
                "line": 128,
                "column": 46
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        245,
        4323
      ],
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 127,
          "column": 15
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n ",
          "range": [
            150,
            244
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 0
            },
            "end": {
              "line": 8,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=GenerateObservable.js.map",
          "range": [
            4324,
            4370
          ],
          "loc": {
            "start": {
              "line": 128,
              "column": 0
            },
            "end": {
              "line": 128,
              "column": 46
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    4323
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 127,
      "column": 15
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n ",
      "range": [
        150,
        244
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=GenerateObservable.js.map",
      "range": [
        4324,
        4370
      ],
      "loc": {
        "start": {
          "line": 128,
          "column": 0
        },
        "end": {
          "line": 128,
          "column": 46
        }
      }
    }
  ]
}