{
  "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,
          41
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 27
          },
          "end": {
            "line": 1,
            "column": 41
          }
        }
      },
      "range": [
        0,
        42
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 42
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Subscriber",
            "range": [
              52,
              62
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Subscriber",
            "range": [
              52,
              62
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 19
              }
            }
          },
          "range": [
            52,
            62
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 19
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./Subscriber",
        "raw": "'./Subscriber'",
        "range": [
          70,
          84
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 27
          },
          "end": {
            "line": 2,
            "column": 41
          }
        }
      },
      "range": [
        43,
        85
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 42
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Subscription",
            "range": [
              95,
              107
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 21
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Subscription",
            "range": [
              95,
              107
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 21
              }
            }
          },
          "range": [
            95,
            107
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 9
            },
            "end": {
              "line": 3,
              "column": 21
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./Subscription",
        "raw": "'./Subscription'",
        "range": [
          115,
          131
        ],
        "loc": {
          "start": {
            "line": 3,
            "column": 29
          },
          "end": {
            "line": 3,
            "column": 45
          }
        }
      },
      "range": [
        86,
        132
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 46
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "ObjectUnsubscribedError",
            "range": [
              142,
              165
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 32
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "ObjectUnsubscribedError",
            "range": [
              142,
              165
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 32
              }
            }
          },
          "range": [
            142,
            165
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 9
            },
            "end": {
              "line": 4,
              "column": 32
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./util/ObjectUnsubscribedError",
        "raw": "'./util/ObjectUnsubscribedError'",
        "range": [
          173,
          205
        ],
        "loc": {
          "start": {
            "line": 4,
            "column": 40
          },
          "end": {
            "line": 4,
            "column": 72
          }
        }
      },
      "range": [
        133,
        206
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 73
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "SubjectSubscription",
            "range": [
              216,
              235
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 9
              },
              "end": {
                "line": 5,
                "column": 28
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "SubjectSubscription",
            "range": [
              216,
              235
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 9
              },
              "end": {
                "line": 5,
                "column": 28
              }
            }
          },
          "range": [
            216,
            235
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 9
            },
            "end": {
              "line": 5,
              "column": 28
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./SubjectSubscription",
        "raw": "'./SubjectSubscription'",
        "range": [
          243,
          266
        ],
        "loc": {
          "start": {
            "line": 5,
            "column": 36
          },
          "end": {
            "line": 5,
            "column": 59
          }
        }
      },
      "range": [
        207,
        267
      ],
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 60
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "$$rxSubscriber",
            "range": [
              277,
              291
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 9
              },
              "end": {
                "line": 6,
                "column": 23
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "$$rxSubscriber",
            "range": [
              277,
              291
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 9
              },
              "end": {
                "line": 6,
                "column": 23
              }
            }
          },
          "range": [
            277,
            291
          ],
          "loc": {
            "start": {
              "line": 6,
              "column": 9
            },
            "end": {
              "line": 6,
              "column": 23
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./symbol/rxSubscriber",
        "raw": "'./symbol/rxSubscriber'",
        "range": [
          299,
          322
        ],
        "loc": {
          "start": {
            "line": 6,
            "column": 31
          },
          "end": {
            "line": 6,
            "column": 54
          }
        }
      },
      "range": [
        268,
        323
      ],
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 55
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * @class SubjectSubscriber<T>\n ",
          "range": [
            324,
            362
          ],
          "loc": {
            "start": {
              "line": 7,
              "column": 0
            },
            "end": {
              "line": 9,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "SubjectSubscriber",
              "range": [
                374,
                391
              ],
              "loc": {
                "start": {
                  "line": 10,
                  "column": 11
                },
                "end": {
                  "line": 10,
                  "column": 28
                }
              }
            },
            "init": {
              "type": "CallExpression",
              "callee": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "_super",
                    "range": [
                      405,
                      411
                    ],
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 42
                      },
                      "end": {
                        "line": 10,
                        "column": 48
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "Identifier",
                          "name": "__extends",
                          "range": [
                            419,
                            428
                          ],
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 4
                            },
                            "end": {
                              "line": 11,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "SubjectSubscriber",
                            "range": [
                              429,
                              446
                            ],
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 14
                              },
                              "end": {
                                "line": 11,
                                "column": 31
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "_super",
                            "range": [
                              448,
                              454
                            ],
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 33
                              },
                              "end": {
                                "line": 11,
                                "column": 39
                              }
                            }
                          }
                        ],
                        "range": [
                          419,
                          455
                        ],
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 4
                          },
                          "end": {
                            "line": 11,
                            "column": 40
                          }
                        }
                      },
                      "range": [
                        419,
                        456
                      ],
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 4
                        },
                        "end": {
                          "line": 11,
                          "column": 41
                        }
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "id": {
                        "type": "Identifier",
                        "name": "SubjectSubscriber",
                        "range": [
                          470,
                          487
                        ],
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 13
                          },
                          "end": {
                            "line": 12,
                            "column": 30
                          }
                        }
                      },
                      "params": [
                        {
                          "type": "Identifier",
                          "name": "destination",
                          "range": [
                            488,
                            499
                          ],
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 31
                            },
                            "end": {
                              "line": 12,
                              "column": 42
                            }
                          }
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "_super",
                                  "range": [
                                    511,
                                    517
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 14
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "call",
                                  "range": [
                                    518,
                                    522
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 19
                                    }
                                  }
                                },
                                "range": [
                                  511,
                                  522
                                ],
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 19
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "range": [
                                    523,
                                    527
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 24
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "destination",
                                  "range": [
                                    529,
                                    540
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 37
                                    }
                                  }
                                }
                              ],
                              "range": [
                                511,
                                541
                              ],
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 8
                                },
                                "end": {
                                  "line": 13,
                                  "column": 38
                                }
                              }
                            },
                            "range": [
                              511,
                              542
                            ],
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 8
                              },
                              "end": {
                                "line": 13,
                                "column": 39
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    551,
                                    555
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 14,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 14,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "destination",
                                  "range": [
                                    556,
                                    567
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 14,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 14,
                                      "column": 24
                                    }
                                  }
                                },
                                "range": [
                                  551,
                                  567
                                ],
                                "loc": {
                                  "start": {
                                    "line": 14,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 14,
                                    "column": 24
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  570,
                                  581
                                ],
                                "loc": {
                                  "start": {
                                    "line": 14,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 14,
                                    "column": 38
                                  }
                                }
                              },
                              "range": [
                                551,
                                581
                              ],
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 8
                                },
                                "end": {
                                  "line": 14,
                                  "column": 38
                                }
                              }
                            },
                            "range": [
                              551,
                              582
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 8
                              },
                              "end": {
                                "line": 14,
                                "column": 39
                              }
                            }
                          }
                        ],
                        "range": [
                          501,
                          588
                        ],
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 44
                          },
                          "end": {
                            "line": 15,
                            "column": 5
                          }
                        }
                      },
                      "generator": false,
                      "expression": false,
                      "range": [
                        461,
                        588
                      ],
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 4
                        },
                        "end": {
                          "line": 15,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "SubjectSubscriber",
                        "range": [
                          600,
                          617
                        ],
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 11
                          },
                          "end": {
                            "line": 16,
                            "column": 28
                          }
                        }
                      },
                      "range": [
                        593,
                        618
                      ],
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 4
                        },
                        "end": {
                          "line": 16,
                          "column": 29
                        }
                      }
                    }
                  ],
                  "range": [
                    413,
                    620
                  ],
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 50
                    },
                    "end": {
                      "line": 17,
                      "column": 1
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  395,
                  620
                ],
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 32
                  },
                  "end": {
                    "line": 17,
                    "column": 1
                  }
                }
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "name": "Subscriber",
                  "range": [
                    621,
                    631
                  ],
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 2
                    },
                    "end": {
                      "line": 17,
                      "column": 12
                    }
                  }
                }
              ],
              "range": [
                395,
                632
              ],
              "loc": {
                "start": {
                  "line": 10,
                  "column": 32
                },
                "end": {
                  "line": 17,
                  "column": 13
                }
              }
            },
            "range": [
              374,
              633
            ],
            "loc": {
              "start": {
                "line": 10,
                "column": 11
              },
              "end": {
                "line": 17,
                "column": 14
              }
            }
          }
        ],
        "kind": "var",
        "range": [
          370,
          634
        ],
        "loc": {
          "start": {
            "line": 10,
            "column": 7
          },
          "end": {
            "line": 17,
            "column": 15
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * @class SubjectSubscriber<T>\n ",
            "range": [
              324,
              362
            ],
            "loc": {
              "start": {
                "line": 7,
                "column": 0
              },
              "end": {
                "line": 9,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Block",
            "value": "*\n * @class Subject<T>\n ",
            "range": [
              635,
              663
            ],
            "loc": {
              "start": {
                "line": 18,
                "column": 0
              },
              "end": {
                "line": 20,
                "column": 3
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        363,
        634
      ],
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 17,
          "column": 15
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * @class SubjectSubscriber<T>\n ",
          "range": [
            324,
            362
          ],
          "loc": {
            "start": {
              "line": 7,
              "column": 0
            },
            "end": {
              "line": 9,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * @class Subject<T>\n ",
          "range": [
            635,
            663
          ],
          "loc": {
            "start": {
              "line": 18,
              "column": 0
            },
            "end": {
              "line": 20,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "Subject",
              "range": [
                675,
                682
              ],
              "loc": {
                "start": {
                  "line": 21,
                  "column": 11
                },
                "end": {
                  "line": 21,
                  "column": 18
                }
              }
            },
            "init": {
              "type": "CallExpression",
              "callee": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "_super",
                    "range": [
                      696,
                      702
                    ],
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 32
                      },
                      "end": {
                        "line": 21,
                        "column": 38
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "Identifier",
                          "name": "__extends",
                          "range": [
                            710,
                            719
                          ],
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 4
                            },
                            "end": {
                              "line": 22,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "Subject",
                            "range": [
                              720,
                              727
                            ],
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 14
                              },
                              "end": {
                                "line": 22,
                                "column": 21
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "_super",
                            "range": [
                              729,
                              735
                            ],
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 23
                              },
                              "end": {
                                "line": 22,
                                "column": 29
                              }
                            }
                          }
                        ],
                        "range": [
                          710,
                          736
                        ],
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 4
                          },
                          "end": {
                            "line": 22,
                            "column": 30
                          }
                        }
                      },
                      "range": [
                        710,
                        737
                      ],
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 4
                        },
                        "end": {
                          "line": 22,
                          "column": 31
                        }
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "id": {
                        "type": "Identifier",
                        "name": "Subject",
                        "range": [
                          751,
                          758
                        ],
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 13
                          },
                          "end": {
                            "line": 23,
                            "column": 20
                          }
                        }
                      },
                      "params": [],
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "_super",
                                  "range": [
                                    771,
                                    777
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 24,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 24,
                                      "column": 14
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "call",
                                  "range": [
                                    778,
                                    782
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 24,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 24,
                                      "column": 19
                                    }
                                  }
                                },
                                "range": [
                                  771,
                                  782
                                ],
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 19
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "range": [
                                    783,
                                    787
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 24,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 24,
                                      "column": 24
                                    }
                                  }
                                }
                              ],
                              "range": [
                                771,
                                788
                              ],
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 8
                                },
                                "end": {
                                  "line": 24,
                                  "column": 25
                                }
                              }
                            },
                            "range": [
                              771,
                              789
                            ],
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 8
                              },
                              "end": {
                                "line": 24,
                                "column": 26
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    798,
                                    802
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 25,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "observers",
                                  "range": [
                                    803,
                                    812
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 25,
                                      "column": 22
                                    }
                                  }
                                },
                                "range": [
                                  798,
                                  812
                                ],
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 22
                                  }
                                }
                              },
                              "right": {
                                "type": "ArrayExpression",
                                "elements": [],
                                "range": [
                                  815,
                                  817
                                ],
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                798,
                                817
                              ],
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 8
                                },
                                "end": {
                                  "line": 25,
                                  "column": 27
                                }
                              }
                            },
                            "range": [
                              798,
                              818
                            ],
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 8
                              },
                              "end": {
                                "line": 25,
                                "column": 28
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    827,
                                    831
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 26,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 26,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "closed",
                                  "range": [
                                    832,
                                    838
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 26,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 26,
                                      "column": 19
                                    }
                                  }
                                },
                                "range": [
                                  827,
                                  838
                                ],
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 19
                                  }
                                }
                              },
                              "right": {
                                "type": "Literal",
                                "value": false,
                                "raw": "false",
                                "range": [
                                  841,
                                  846
                                ],
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                827,
                                846
                              ],
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 8
                                },
                                "end": {
                                  "line": 26,
                                  "column": 27
                                }
                              }
                            },
                            "range": [
                              827,
                              847
                            ],
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 8
                              },
                              "end": {
                                "line": 26,
                                "column": 28
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    856,
                                    860
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 27,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 27,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "isStopped",
                                  "range": [
                                    861,
                                    870
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 27,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 27,
                                      "column": 22
                                    }
                                  }
                                },
                                "range": [
                                  856,
                                  870
                                ],
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 22
                                  }
                                }
                              },
                              "right": {
                                "type": "Literal",
                                "value": false,
                                "raw": "false",
                                "range": [
                                  873,
                                  878
                                ],
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 30
                                  }
                                }
                              },
                              "range": [
                                856,
                                878
                              ],
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 8
                                },
                                "end": {
                                  "line": 27,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              856,
                              879
                            ],
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 8
                              },
                              "end": {
                                "line": 27,
                                "column": 31
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    888,
                                    892
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 28,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 28,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "hasError",
                                  "range": [
                                    893,
                                    901
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 28,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 28,
                                      "column": 21
                                    }
                                  }
                                },
                                "range": [
                                  888,
                                  901
                                ],
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 21
                                  }
                                }
                              },
                              "right": {
                                "type": "Literal",
                                "value": false,
                                "raw": "false",
                                "range": [
                                  904,
                                  909
                                ],
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 29
                                  }
                                }
                              },
                              "range": [
                                888,
                                909
                              ],
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 8
                                },
                                "end": {
                                  "line": 28,
                                  "column": 29
                                }
                              }
                            },
                            "range": [
                              888,
                              910
                            ],
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 8
                              },
                              "end": {
                                "line": 28,
                                "column": 30
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    919,
                                    923
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "thrownError",
                                  "range": [
                                    924,
                                    935
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 24
                                    }
                                  }
                                },
                                "range": [
                                  919,
                                  935
                                ],
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 24
                                  }
                                }
                              },
                              "right": {
                                "type": "Literal",
                                "value": null,
                                "raw": "null",
                                "range": [
                                  938,
                                  942
                                ],
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 31
                                  }
                                }
                              },
                              "range": [
                                919,
                                942
                              ],
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 8
                                },
                                "end": {
                                  "line": 29,
                                  "column": 31
                                }
                              }
                            },
                            "range": [
                              919,
                              943
                            ],
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 8
                              },
                              "end": {
                                "line": 29,
                                "column": 32
                              }
                            }
                          }
                        ],
                        "range": [
                          761,
                          949
                        ],
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 23
                          },
                          "end": {
                            "line": 30,
                            "column": 5
                          }
                        }
                      },
                      "generator": false,
                      "expression": false,
                      "range": [
                        742,
                        949
                      ],
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 4
                        },
                        "end": {
                          "line": 30,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": true,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "Subject",
                              "range": [
                                954,
                                961
                              ],
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 4
                                },
                                "end": {
                                  "line": 31,
                                  "column": 11
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                962,
                                971
                              ],
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 12
                                },
                                "end": {
                                  "line": 31,
                                  "column": 21
                                }
                              }
                            },
                            "range": [
                              954,
                              971
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 4
                              },
                              "end": {
                                "line": 31,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "$$rxSubscriber",
                            "range": [
                              972,
                              986
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 22
                              },
                              "end": {
                                "line": 31,
                                "column": 36
                              }
                            }
                          },
                          "range": [
                            954,
                            987
                          ],
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 4
                            },
                            "end": {
                              "line": 31,
                              "column": 37
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "NewExpression",
                                  "callee": {
                                    "type": "Identifier",
                                    "name": "SubjectSubscriber",
                                    "range": [
                                      1023,
                                      1040
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 32,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "ThisExpression",
                                      "range": [
                                        1041,
                                        1045
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 32,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 32,
                                          "column": 41
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1019,
                                    1046
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 32,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 32,
                                      "column": 42
                                    }
                                  }
                                },
                                "range": [
                                  1012,
                                  1047
                                ],
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 43
                                  }
                                }
                              }
                            ],
                            "range": [
                              1002,
                              1053
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 52
                              },
                              "end": {
                                "line": 33,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            990,
                            1053
                          ],
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 40
                            },
                            "end": {
                              "line": 33,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          954,
                          1053
                        ],
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 4
                          },
                          "end": {
                            "line": 33,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        954,
                        1054
                      ],
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 4
                        },
                        "end": {
                          "line": 33,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "Subject",
                              "range": [
                                1059,
                                1066
                              ],
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 4
                                },
                                "end": {
                                  "line": 34,
                                  "column": 11
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                1067,
                                1076
                              ],
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 12
                                },
                                "end": {
                                  "line": 34,
                                  "column": 21
                                }
                              }
                            },
                            "range": [
                              1059,
                              1076
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 4
                              },
                              "end": {
                                "line": 34,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "lift",
                            "range": [
                              1077,
                              1081
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 22
                              },
                              "end": {
                                "line": 34,
                                "column": 26
                              }
                            }
                          },
                          "range": [
                            1059,
                            1081
                          ],
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 4
                            },
                            "end": {
                              "line": 34,
                              "column": 26
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "operator",
                              "range": [
                                1094,
                                1102
                              ],
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 39
                                },
                                "end": {
                                  "line": 34,
                                  "column": 47
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "subject",
                                      "range": [
                                        1118,
                                        1125
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "NewExpression",
                                      "callee": {
                                        "type": "Identifier",
                                        "name": "AnonymousSubject",
                                        "range": [
                                          1132,
                                          1148
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 35,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 35,
                                            "column": 42
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "ThisExpression",
                                          "range": [
                                            1149,
                                            1153
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 35,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 35,
                                              "column": 47
                                            }
                                          }
                                        },
                                        {
                                          "type": "ThisExpression",
                                          "range": [
                                            1155,
                                            1159
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 35,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 35,
                                              "column": 53
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        1128,
                                        1160
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 54
                                        }
                                      }
                                    },
                                    "range": [
                                      1118,
                                      1160
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 35,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 35,
                                        "column": 54
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  1114,
                                  1161
                                ],
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 55
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "subject",
                                      "range": [
                                        1170,
                                        1177
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 36,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 36,
                                          "column": 15
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "operator",
                                      "range": [
                                        1178,
                                        1186
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 36,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 36,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      1170,
                                      1186
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 36,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 36,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "operator",
                                    "range": [
                                      1189,
                                      1197
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 36,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 36,
                                        "column": 35
                                      }
                                    }
                                  },
                                  "range": [
                                    1170,
                                    1197
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 36,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 36,
                                      "column": 35
                                    }
                                  }
                                },
                                "range": [
                                  1170,
                                  1198
                                ],
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 36
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "Identifier",
                                  "name": "subject",
                                  "range": [
                                    1214,
                                    1221
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 22
                                    }
                                  }
                                },
                                "range": [
                                  1207,
                                  1222
                                ],
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 23
                                  }
                                }
                              }
                            ],
                            "range": [
                              1104,
                              1228
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 49
                              },
                              "end": {
                                "line": 38,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            1084,
                            1228
                          ],
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 29
                            },
                            "end": {
                              "line": 38,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          1059,
                          1228
                        ],
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 4
                          },
                          "end": {
                            "line": 38,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1059,
                        1229
                      ],
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 4
                        },
                        "end": {
                          "line": 38,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "Subject",
                              "range": [
                                1234,
                                1241
                              ],
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 4
                                },
                                "end": {
                                  "line": 39,
                                  "column": 11
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                1242,
                                1251
                              ],
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 12
                                },
                                "end": {
                                  "line": 39,
                                  "column": 21
                                }
                              }
                            },
                            "range": [
                              1234,
                              1251
                            ],
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 4
                              },
                              "end": {
                                "line": 39,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "next",
                            "range": [
                              1252,
                              1256
                            ],
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 22
                              },
                              "end": {
                                "line": 39,
                                "column": 26
                              }
                            }
                          },
                          "range": [
                            1234,
                            1256
                          ],
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 4
                            },
                            "end": {
                              "line": 39,
                              "column": 26
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "value",
                              "range": [
                                1269,
                                1274
                              ],
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 39
                                },
                                "end": {
                                  "line": 39,
                                  "column": 44
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      1290,
                                      1294
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 40,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 40,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "closed",
                                    "range": [
                                      1295,
                                      1301
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 40,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 40,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "range": [
                                    1290,
                                    1301
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 23
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ThrowStatement",
                                      "argument": {
                                        "type": "NewExpression",
                                        "callee": {
                                          "type": "Identifier",
                                          "name": "ObjectUnsubscribedError",
                                          "range": [
                                            1327,
                                            1350
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 41,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 41,
                                              "column": 45
                                            }
                                          }
                                        },
                                        "arguments": [],
                                        "range": [
                                          1323,
                                          1352
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 41,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 41,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "range": [
                                        1317,
                                        1353
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 41,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 41,
                                          "column": 48
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1303,
                                    1363
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  1286,
                                  1363
                                ],
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        1377,
                                        1381
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 43,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 43,
                                          "column": 17
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "isStopped",
                                      "range": [
                                        1382,
                                        1391
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 43,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 43,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "range": [
                                      1377,
                                      1391
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 27
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    1376,
                                    1391
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 27
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "id": {
                                            "type": "Identifier",
                                            "name": "observers",
                                            "range": [
                                              1411,
                                              1420
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 44,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 44,
                                                "column": 25
                                              }
                                            }
                                          },
                                          "init": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                1423,
                                                1427
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 44,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 44,
                                                  "column": 32
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "observers",
                                              "range": [
                                                1428,
                                                1437
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 44,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 44,
                                                  "column": 42
                                                }
                                              }
                                            },
                                            "range": [
                                              1423,
                                              1437
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 44,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 44,
                                                "column": 42
                                              }
                                            }
                                          },
                                          "range": [
                                            1411,
                                            1437
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 44,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 44,
                                              "column": 42
                                            }
                                          }
                                        }
                                      ],
                                      "kind": "var",
                                      "range": [
                                        1407,
                                        1438
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 44,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 44,
                                          "column": 43
                                        }
                                      }
                                    },
                                    {
                                      "type": "VariableDeclaration",
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "id": {
                                            "type": "Identifier",
                                            "name": "len",
                                            "range": [
                                              1455,
                                              1458
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 45,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 45,
                                                "column": 19
                                              }
                                            }
                                          },
                                          "init": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "observers",
                                              "range": [
                                                1461,
                                                1470
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 45,
                                                  "column": 22
                                                },
                                                "end": {
                                                  "line": 45,
                                                  "column": 31
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "length",
                                              "range": [
                                                1471,
                                                1477
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 45,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 45,
                                                  "column": 38
                                                }
                                              }
                                            },
                                            "range": [
                                              1461,
                                              1477
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 45,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 45,
                                                "column": 38
                                              }
                                            }
                                          },
                                          "range": [
                                            1455,
                                            1477
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 45,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 45,
                                              "column": 38
                                            }
                                          }
                                        }
                                      ],
                                      "kind": "var",
                                      "range": [
                                        1451,
                                        1478
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 45,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 45,
                                          "column": 39
                                        }
                                      }
                                    },
                                    {
                                      "type": "VariableDeclaration",
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "id": {
                                            "type": "Identifier",
                                            "name": "copy",
                                            "range": [
                                              1495,
                                              1499
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 46,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 46,
                                                "column": 20
                                              }
                                            }
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "observers",
                                                "range": [
                                                  1502,
                                                  1511
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 46,
                                                    "column": 23
                                                  },
                                                  "end": {
                                                    "line": 46,
                                                    "column": 32
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "slice",
                                                "range": [
                                                  1512,
                                                  1517
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 46,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 46,
                                                    "column": 38
                                                  }
                                                }
                                              },
                                              "range": [
                                                1502,
                                                1517
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 46,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 46,
                                                  "column": 38
                                                }
                                              }
                                            },
                                            "arguments": [],
                                            "range": [
                                              1502,
                                              1519
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 46,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 46,
                                                "column": 40
                                              }
                                            }
                                          },
                                          "range": [
                                            1495,
                                            1519
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 46,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 46,
                                              "column": 40
                                            }
                                          }
                                        }
                                      ],
                                      "kind": "var",
                                      "range": [
                                        1491,
                                        1520
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 46,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 46,
                                          "column": 41
                                        }
                                      }
                                    },
                                    {
                                      "type": "ForStatement",
                                      "init": {
                                        "type": "VariableDeclaration",
                                        "declarations": [
                                          {
                                            "type": "VariableDeclarator",
                                            "id": {
                                              "type": "Identifier",
                                              "name": "i",
                                              "range": [
                                                1542,
                                                1543
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 47,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 47,
                                                  "column": 22
                                                }
                                              }
                                            },
                                            "init": {
                                              "type": "Literal",
                                              "value": 0,
                                              "raw": "0",
                                              "range": [
                                                1546,
                                                1547
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 47,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 47,
                                                  "column": 26
                                                }
                                              }
                                            },
                                            "range": [
                                              1542,
                                              1547
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 47,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 47,
                                                "column": 26
                                              }
                                            }
                                          }
                                        ],
                                        "kind": "var",
                                        "range": [
                                          1538,
                                          1547
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "operator": "<",
                                        "left": {
                                          "type": "Identifier",
                                          "name": "i",
                                          "range": [
                                            1549,
                                            1550
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 29
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "name": "len",
                                          "range": [
                                            1553,
                                            1556
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 35
                                            }
                                          }
                                        },
                                        "range": [
                                          1549,
                                          1556
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "update": {
                                        "type": "UpdateExpression",
                                        "operator": "++",
                                        "argument": {
                                          "type": "Identifier",
                                          "name": "i",
                                          "range": [
                                            1558,
                                            1559
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 38
                                            }
                                          }
                                        },
                                        "prefix": false,
                                        "range": [
                                          1558,
                                          1561
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 40
                                          }
                                        }
                                      },
                                      "body": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "copy",
                                                    "range": [
                                                      1581,
                                                      1585
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "i",
                                                    "range": [
                                                      1586,
                                                      1587
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 22
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    1581,
                                                    1588
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 23
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "next",
                                                  "range": [
                                                    1589,
                                                    1593
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 28
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  1581,
                                                  1593
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 48,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 48,
                                                    "column": 28
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "value",
                                                  "range": [
                                                    1594,
                                                    1599
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 34
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                1581,
                                                1600
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 48,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 48,
                                                  "column": 35
                                                }
                                              }
                                            },
                                            "range": [
                                              1581,
                                              1601
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 48,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 48,
                                                "column": 36
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          1563,
                                          1615
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "range": [
                                        1533,
                                        1615
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 13
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1393,
                                    1625
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  1372,
                                  1625
                                ],
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 9
                                  }
                                }
                              }
                            ],
                            "range": [
                              1276,
                              1631
                            ],
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 46
                              },
                              "end": {
                                "line": 51,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            1259,
                            1631
                          ],
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 29
                            },
                            "end": {
                              "line": 51,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          1234,
                          1631
                        ],
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 4
                          },
                          "end": {
                            "line": 51,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1234,
                        1632
                      ],
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 4
                        },
                        "end": {
                          "line": 51,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "Subject",
                              "range": [
                                1637,
                                1644
                              ],
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 4
                                },
                                "end": {
                                  "line": 52,
                                  "column": 11
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                1645,
                                1654
                              ],
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 12
                                },
                                "end": {
                                  "line": 52,
                                  "column": 21
                                }
                              }
                            },
                            "range": [
                              1637,
                              1654
                            ],
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 4
                              },
                              "end": {
                                "line": 52,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "error",
                            "range": [
                              1655,
                              1660
                            ],
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 22
                              },
                              "end": {
                                "line": 52,
                                "column": 27
                              }
                            }
                          },
                          "range": [
                            1637,
                            1660
                          ],
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 4
                            },
                            "end": {
                              "line": 52,
                              "column": 27
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "err",
                              "range": [
                                1673,
                                1676
                              ],
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 40
                                },
                                "end": {
                                  "line": 52,
                                  "column": 43
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      1692,
                                      1696
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 53,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 53,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "closed",
                                    "range": [
                                      1697,
                                      1703
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 53,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 53,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "range": [
                                    1692,
                                    1703
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 23
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ThrowStatement",
                                      "argument": {
                                        "type": "NewExpression",
                                        "callee": {
                                          "type": "Identifier",
                                          "name": "ObjectUnsubscribedError",
                                          "range": [
                                            1729,
                                            1752
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 54,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 54,
                                              "column": 45
                                            }
                                          }
                                        },
                                        "arguments": [],
                                        "range": [
                                          1725,
                                          1754
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 54,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 54,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "range": [
                                        1719,
                                        1755
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 54,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 54,
                                          "column": 48
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1705,
                                    1765
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 55,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  1688,
                                  1765
                                ],
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        1774,
                                        1778
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 56,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 56,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "hasError",
                                      "range": [
                                        1779,
                                        1787
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 56,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 56,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "range": [
                                      1774,
                                      1787
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": true,
                                    "raw": "true",
                                    "range": [
                                      1790,
                                      1794
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "range": [
                                    1774,
                                    1794
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 28
                                    }
                                  }
                                },
                                "range": [
                                  1774,
                                  1795
                                ],
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 29
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        1804,
                                        1808
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "thrownError",
                                      "range": [
                                        1809,
                                        1820
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      1804,
                                      1820
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "err",
                                    "range": [
                                      1823,
                                      1826
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "range": [
                                    1804,
                                    1826
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 30
                                    }
                                  }
                                },
                                "range": [
                                  1804,
                                  1827
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 31
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        1836,
                                        1840
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 58,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "isStopped",
                                      "range": [
                                        1841,
                                        1850
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 58,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "range": [
                                      1836,
                                      1850
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": true,
                                    "raw": "true",
                                    "range": [
                                      1853,
                                      1857
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "range": [
                                    1836,
                                    1857
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 29
                                    }
                                  }
                                },
                                "range": [
                                  1836,
                                  1858
                                ],
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 30
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "observers",
                                      "range": [
                                        1871,
                                        1880
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          1883,
                                          1887
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 59,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "observers",
                                        "range": [
                                          1888,
                                          1897
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 59,
                                            "column": 38
                                          }
                                        }
                                      },
                                      "range": [
                                        1883,
                                        1897
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "range": [
                                      1871,
                                      1897
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 38
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  1867,
                                  1898
                                ],
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 39
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "len",
                                      "range": [
                                        1911,
                                        1914
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 60,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 60,
                                          "column": 15
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "observers",
                                        "range": [
                                          1917,
                                          1926
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 60,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 60,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "length",
                                        "range": [
                                          1927,
                                          1933
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 60,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 60,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "range": [
                                        1917,
                                        1933
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 60,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 60,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      1911,
                                      1933
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 60,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 60,
                                        "column": 34
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  1907,
                                  1934
                                ],
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 35
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "copy",
                                      "range": [
                                        1947,
                                        1951
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 61,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 61,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "observers",
                                          "range": [
                                            1954,
                                            1963
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 61,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 61,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "slice",
                                          "range": [
                                            1964,
                                            1969
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 61,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 61,
                                              "column": 34
                                            }
                                          }
                                        },
                                        "range": [
                                          1954,
                                          1969
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 61,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 61,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        1954,
                                        1971
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 61,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 61,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "range": [
                                      1947,
                                      1971
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 36
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  1943,
                                  1972
                                ],
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 37
                                  }
                                }
                              },
                              {
                                "type": "ForStatement",
                                "init": {
                                  "type": "VariableDeclaration",
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "id": {
                                        "type": "Identifier",
                                        "name": "i",
                                        "range": [
                                          1990,
                                          1991
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 62,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 62,
                                            "column": 18
                                          }
                                        }
                                      },
                                      "init": {
                                        "type": "Literal",
                                        "value": 0,
                                        "raw": "0",
                                        "range": [
                                          1994,
                                          1995
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 62,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 62,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "range": [
                                        1990,
                                        1995
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 22
                                        }
                                      }
                                    }
                                  ],
                                  "kind": "var",
                                  "range": [
                                    1986,
                                    1995
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 62,
                                      "column": 22
                                    }
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "operator": "<",
                                  "left": {
                                    "type": "Identifier",
                                    "name": "i",
                                    "range": [
                                      1997,
                                      1998
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 62,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 62,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "len",
                                    "range": [
                                      2001,
                                      2004
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 62,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 62,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "range": [
                                    1997,
                                    2004
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 62,
                                      "column": 31
                                    }
                                  }
                                },
                                "update": {
                                  "type": "UpdateExpression",
                                  "operator": "++",
                                  "argument": {
                                    "type": "Identifier",
                                    "name": "i",
                                    "range": [
                                      2006,
                                      2007
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 62,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 62,
                                        "column": 34
                                      }
                                    }
                                  },
                                  "prefix": false,
                                  "range": [
                                    2006,
                                    2009
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 62,
                                      "column": 36
                                    }
                                  }
                                },
                                "body": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": true,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "copy",
                                              "range": [
                                                2025,
                                                2029
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 63,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 63,
                                                  "column": 16
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "i",
                                              "range": [
                                                2030,
                                                2031
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 63,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 63,
                                                  "column": 18
                                                }
                                              }
                                            },
                                            "range": [
                                              2025,
                                              2032
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 19
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "error",
                                            "range": [
                                              2033,
                                              2038
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 25
                                              }
                                            }
                                          },
                                          "range": [
                                            2025,
                                            2038
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 63,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 63,
                                              "column": 25
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "err",
                                            "range": [
                                              2039,
                                              2042
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 29
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2025,
                                          2043
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 63,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 63,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "range": [
                                        2025,
                                        2044
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 63,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 63,
                                          "column": 31
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2011,
                                    2054
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  1981,
                                  2054
                                ],
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          2063,
                                          2067
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 65,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 65,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "observers",
                                        "range": [
                                          2068,
                                          2077
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 65,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 65,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "range": [
                                        2063,
                                        2077
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "length",
                                      "range": [
                                        2078,
                                        2084
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 29
                                        }
                                      }
                                    },
                                    "range": [
                                      2063,
                                      2084
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 65,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": 0,
                                    "raw": "0",
                                    "range": [
                                      2087,
                                      2088
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 65,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "range": [
                                    2063,
                                    2088
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 33
                                    }
                                  }
                                },
                                "range": [
                                  2063,
                                  2089
                                ],
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 34
                                  }
                                }
                              }
                            ],
                            "range": [
                              1678,
                              2095
                            ],
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 45
                              },
                              "end": {
                                "line": 66,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            1663,
                            2095
                          ],
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 30
                            },
                            "end": {
                              "line": 66,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          1637,
                          2095
                        ],
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 4
                          },
                          "end": {
                            "line": 66,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1637,
                        2096
                      ],
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 4
                        },
                        "end": {
                          "line": 66,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "Subject",
                              "range": [
                                2101,
                                2108
                              ],
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 4
                                },
                                "end": {
                                  "line": 67,
                                  "column": 11
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                2109,
                                2118
                              ],
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 12
                                },
                                "end": {
                                  "line": 67,
                                  "column": 21
                                }
                              }
                            },
                            "range": [
                              2101,
                              2118
                            ],
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 4
                              },
                              "end": {
                                "line": 67,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "complete",
                            "range": [
                              2119,
                              2127
                            ],
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 22
                              },
                              "end": {
                                "line": 67,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            2101,
                            2127
                          ],
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 4
                            },
                            "end": {
                              "line": 67,
                              "column": 30
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      2156,
                                      2160
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 68,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 68,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "closed",
                                    "range": [
                                      2161,
                                      2167
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 68,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 68,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "range": [
                                    2156,
                                    2167
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 68,
                                      "column": 23
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ThrowStatement",
                                      "argument": {
                                        "type": "NewExpression",
                                        "callee": {
                                          "type": "Identifier",
                                          "name": "ObjectUnsubscribedError",
                                          "range": [
                                            2193,
                                            2216
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 69,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 69,
                                              "column": 45
                                            }
                                          }
                                        },
                                        "arguments": [],
                                        "range": [
                                          2189,
                                          2218
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 69,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "range": [
                                        2183,
                                        2219
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 48
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2169,
                                    2229
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 68,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 70,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  2152,
                                  2229
                                ],
                                "loc": {
                                  "start": {
                                    "line": 68,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2238,
                                        2242
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 71,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 71,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "isStopped",
                                      "range": [
                                        2243,
                                        2252
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 71,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 71,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "range": [
                                      2238,
                                      2252
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": true,
                                    "raw": "true",
                                    "range": [
                                      2255,
                                      2259
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "range": [
                                    2238,
                                    2259
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 29
                                    }
                                  }
                                },
                                "range": [
                                  2238,
                                  2260
                                ],
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 30
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "observers",
                                      "range": [
                                        2273,
                                        2282
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 72,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 72,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          2285,
                                          2289
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 72,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 72,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "observers",
                                        "range": [
                                          2290,
                                          2299
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 72,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 72,
                                            "column": 38
                                          }
                                        }
                                      },
                                      "range": [
                                        2285,
                                        2299
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 72,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 72,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "range": [
                                      2273,
                                      2299
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 38
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  2269,
                                  2300
                                ],
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 39
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "len",
                                      "range": [
                                        2313,
                                        2316
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 15
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "observers",
                                        "range": [
                                          2319,
                                          2328
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "length",
                                        "range": [
                                          2329,
                                          2335
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "range": [
                                        2319,
                                        2335
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      2313,
                                      2335
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 34
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  2309,
                                  2336
                                ],
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 35
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "copy",
                                      "range": [
                                        2349,
                                        2353
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "observers",
                                          "range": [
                                            2356,
                                            2365
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "slice",
                                          "range": [
                                            2366,
                                            2371
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 34
                                            }
                                          }
                                        },
                                        "range": [
                                          2356,
                                          2371
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        2356,
                                        2373
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "range": [
                                      2349,
                                      2373
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 36
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  2345,
                                  2374
                                ],
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 37
                                  }
                                }
                              },
                              {
                                "type": "ForStatement",
                                "init": {
                                  "type": "VariableDeclaration",
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "id": {
                                        "type": "Identifier",
                                        "name": "i",
                                        "range": [
                                          2392,
                                          2393
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 75,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 75,
                                            "column": 18
                                          }
                                        }
                                      },
                                      "init": {
                                        "type": "Literal",
                                        "value": 0,
                                        "raw": "0",
                                        "range": [
                                          2396,
                                          2397
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 75,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 75,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "range": [
                                        2392,
                                        2397
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 75,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 75,
                                          "column": 22
                                        }
                                      }
                                    }
                                  ],
                                  "kind": "var",
                                  "range": [
                                    2388,
                                    2397
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 22
                                    }
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "operator": "<",
                                  "left": {
                                    "type": "Identifier",
                                    "name": "i",
                                    "range": [
                                      2399,
                                      2400
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "len",
                                    "range": [
                                      2403,
                                      2406
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "range": [
                                    2399,
                                    2406
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 31
                                    }
                                  }
                                },
                                "update": {
                                  "type": "UpdateExpression",
                                  "operator": "++",
                                  "argument": {
                                    "type": "Identifier",
                                    "name": "i",
                                    "range": [
                                      2408,
                                      2409
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 34
                                      }
                                    }
                                  },
                                  "prefix": false,
                                  "range": [
                                    2408,
                                    2411
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 36
                                    }
                                  }
                                },
                                "body": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": true,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "copy",
                                              "range": [
                                                2427,
                                                2431
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 76,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 76,
                                                  "column": 16
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "i",
                                              "range": [
                                                2432,
                                                2433
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 76,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 76,
                                                  "column": 18
                                                }
                                              }
                                            },
                                            "range": [
                                              2427,
                                              2434
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 76,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 76,
                                                "column": 19
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "complete",
                                            "range": [
                                              2435,
                                              2443
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 76,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 76,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "range": [
                                            2427,
                                            2443
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 76,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 76,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "arguments": [],
                                        "range": [
                                          2427,
                                          2445
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 76,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 76,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "range": [
                                        2427,
                                        2446
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 76,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 76,
                                          "column": 31
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2413,
                                    2456
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  2383,
                                  2456
                                ],
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          2465,
                                          2469
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 78,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 78,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "observers",
                                        "range": [
                                          2470,
                                          2479
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 78,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 78,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "range": [
                                        2465,
                                        2479
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "length",
                                      "range": [
                                        2480,
                                        2486
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 29
                                        }
                                      }
                                    },
                                    "range": [
                                      2465,
                                      2486
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": 0,
                                    "raw": "0",
                                    "range": [
                                      2489,
                                      2490
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "range": [
                                    2465,
                                    2490
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 33
                                    }
                                  }
                                },
                                "range": [
                                  2465,
                                  2491
                                ],
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 34
                                  }
                                }
                              }
                            ],
                            "range": [
                              2142,
                              2497
                            ],
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 45
                              },
                              "end": {
                                "line": 79,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            2130,
                            2497
                          ],
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 33
                            },
                            "end": {
                              "line": 79,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          2101,
                          2497
                        ],
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 4
                          },
                          "end": {
                            "line": 79,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2101,
                        2498
                      ],
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 4
                        },
                        "end": {
                          "line": 79,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "Subject",
                              "range": [
                                2503,
                                2510
                              ],
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 4
                                },
                                "end": {
                                  "line": 80,
                                  "column": 11
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                2511,
                                2520
                              ],
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 12
                                },
                                "end": {
                                  "line": 80,
                                  "column": 21
                                }
                              }
                            },
                            "range": [
                              2503,
                              2520
                            ],
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 4
                              },
                              "end": {
                                "line": 80,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "unsubscribe",
                            "range": [
                              2521,
                              2532
                            ],
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 22
                              },
                              "end": {
                                "line": 80,
                                "column": 33
                              }
                            }
                          },
                          "range": [
                            2503,
                            2532
                          ],
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 4
                            },
                            "end": {
                              "line": 80,
                              "column": 33
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2557,
                                        2561
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 81,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 81,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "isStopped",
                                      "range": [
                                        2562,
                                        2571
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 81,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 81,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "range": [
                                      2557,
                                      2571
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": true,
                                    "raw": "true",
                                    "range": [
                                      2574,
                                      2578
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "range": [
                                    2557,
                                    2578
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 81,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 29
                                    }
                                  }
                                },
                                "range": [
                                  2557,
                                  2579
                                ],
                                "loc": {
                                  "start": {
                                    "line": 81,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 81,
                                    "column": 30
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2588,
                                        2592
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 82,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 82,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "closed",
                                      "range": [
                                        2593,
                                        2599
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 82,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 82,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "range": [
                                      2588,
                                      2599
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": true,
                                    "raw": "true",
                                    "range": [
                                      2602,
                                      2606
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "range": [
                                    2588,
                                    2606
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 26
                                    }
                                  }
                                },
                                "range": [
                                  2588,
                                  2607
                                ],
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 27
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2616,
                                        2620
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 83,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 83,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "observers",
                                      "range": [
                                        2621,
                                        2630
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 83,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 83,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "range": [
                                      2616,
                                      2630
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 83,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 83,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": null,
                                    "raw": "null",
                                    "range": [
                                      2633,
                                      2637
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 83,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 83,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "range": [
                                    2616,
                                    2637
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 83,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 83,
                                      "column": 29
                                    }
                                  }
                                },
                                "range": [
                                  2616,
                                  2638
                                ],
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 30
                                  }
                                }
                              }
                            ],
                            "range": [
                              2547,
                              2644
                            ],
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 48
                              },
                              "end": {
                                "line": 84,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            2535,
                            2644
                          ],
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 36
                            },
                            "end": {
                              "line": 84,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          2503,
                          2644
                        ],
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 4
                          },
                          "end": {
                            "line": 84,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2503,
                        2645
                      ],
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 4
                        },
                        "end": {
                          "line": 84,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "Subject",
                              "range": [
                                2650,
                                2657
                              ],
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 4
                                },
                                "end": {
                                  "line": 85,
                                  "column": 11
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                2658,
                                2667
                              ],
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 12
                                },
                                "end": {
                                  "line": 85,
                                  "column": 21
                                }
                              }
                            },
                            "range": [
                              2650,
                              2667
                            ],
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 4
                              },
                              "end": {
                                "line": 85,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_subscribe",
                            "range": [
                              2668,
                              2678
                            ],
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 22
                              },
                              "end": {
                                "line": 85,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            2650,
                            2678
                          ],
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 4
                            },
                            "end": {
                              "line": 85,
                              "column": 32
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "subscriber",
                              "range": [
                                2691,
                                2701
                              ],
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 45
                                },
                                "end": {
                                  "line": 85,
                                  "column": 55
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      2717,
                                      2721
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "closed",
                                    "range": [
                                      2722,
                                      2728
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "range": [
                                    2717,
                                    2728
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 86,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 86,
                                      "column": 23
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ThrowStatement",
                                      "argument": {
                                        "type": "NewExpression",
                                        "callee": {
                                          "type": "Identifier",
                                          "name": "ObjectUnsubscribedError",
                                          "range": [
                                            2754,
                                            2777
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 87,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 87,
                                              "column": 45
                                            }
                                          }
                                        },
                                        "arguments": [],
                                        "range": [
                                          2750,
                                          2779
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 87,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 87,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "range": [
                                        2744,
                                        2780
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 48
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2730,
                                    2790
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 86,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2808,
                                        2812
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 89,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 89,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "hasError",
                                      "range": [
                                        2813,
                                        2821
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 89,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 89,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "range": [
                                      2808,
                                      2821
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "subscriber",
                                              "range": [
                                                2837,
                                                2847
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 90,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 90,
                                                  "column": 22
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "error",
                                              "range": [
                                                2848,
                                                2853
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 90,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 90,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "range": [
                                              2837,
                                              2853
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 90,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 90,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "ThisExpression",
                                                "range": [
                                                  2854,
                                                  2858
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 90,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 90,
                                                    "column": 33
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "thrownError",
                                                "range": [
                                                  2859,
                                                  2870
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 90,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 90,
                                                    "column": 45
                                                  }
                                                }
                                              },
                                              "range": [
                                                2854,
                                                2870
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 90,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 90,
                                                  "column": 45
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            2837,
                                            2871
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 46
                                            }
                                          }
                                        },
                                        "range": [
                                          2837,
                                          2872
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 47
                                          }
                                        }
                                      },
                                      {
                                        "type": "ReturnStatement",
                                        "argument": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "Subscription",
                                            "range": [
                                              2892,
                                              2904
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 91,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 91,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "EMPTY",
                                            "range": [
                                              2905,
                                              2910
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 91,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 91,
                                                "column": 37
                                              }
                                            }
                                          },
                                          "range": [
                                            2892,
                                            2910
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 91,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 91,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "range": [
                                          2885,
                                          2911
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 91,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 91,
                                            "column": 38
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      2823,
                                      2921
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "alternate": {
                                    "type": "IfStatement",
                                    "test": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          2939,
                                          2943
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 93,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 93,
                                            "column": 21
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "isStopped",
                                        "range": [
                                          2944,
                                          2953
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 93,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 93,
                                            "column": 31
                                          }
                                        }
                                      },
                                      "range": [
                                        2939,
                                        2953
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 93,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 93,
                                          "column": 31
                                        }
                                      }
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "subscriber",
                                                "range": [
                                                  2969,
                                                  2979
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 94,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 94,
                                                    "column": 22
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "complete",
                                                "range": [
                                                  2980,
                                                  2988
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 94,
                                                    "column": 23
                                                  },
                                                  "end": {
                                                    "line": 94,
                                                    "column": 31
                                                  }
                                                }
                                              },
                                              "range": [
                                                2969,
                                                2988
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 94,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 94,
                                                  "column": 31
                                                }
                                              }
                                            },
                                            "arguments": [],
                                            "range": [
                                              2969,
                                              2990
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 94,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 94,
                                                "column": 33
                                              }
                                            }
                                          },
                                          "range": [
                                            2969,
                                            2991
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 94,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 94,
                                              "column": 34
                                            }
                                          }
                                        },
                                        {
                                          "type": "ReturnStatement",
                                          "argument": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "Subscription",
                                              "range": [
                                                3011,
                                                3023
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 31
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "EMPTY",
                                              "range": [
                                                3024,
                                                3029
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 95,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 95,
                                                  "column": 37
                                                }
                                              }
                                            },
                                            "range": [
                                              3011,
                                              3029
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 37
                                              }
                                            }
                                          },
                                          "range": [
                                            3004,
                                            3030
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 38
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2955,
                                        3040
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 93,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 96,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "alternate": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "range": [
                                                    3068,
                                                    3072
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 98,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 98,
                                                      "column": 16
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "observers",
                                                  "range": [
                                                    3073,
                                                    3082
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 98,
                                                      "column": 17
                                                    },
                                                    "end": {
                                                      "line": 98,
                                                      "column": 26
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3068,
                                                  3082
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 98,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 98,
                                                    "column": 26
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "push",
                                                "range": [
                                                  3083,
                                                  3087
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 98,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 98,
                                                    "column": 31
                                                  }
                                                }
                                              },
                                              "range": [
                                                3068,
                                                3087
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 98,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 98,
                                                  "column": 31
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "name": "subscriber",
                                                "range": [
                                                  3088,
                                                  3098
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 98,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 98,
                                                    "column": 42
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              3068,
                                              3099
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 98,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 98,
                                                "column": 43
                                              }
                                            }
                                          },
                                          "range": [
                                            3068,
                                            3100
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 98,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 98,
                                              "column": 44
                                            }
                                          }
                                        },
                                        {
                                          "type": "ReturnStatement",
                                          "argument": {
                                            "type": "NewExpression",
                                            "callee": {
                                              "type": "Identifier",
                                              "name": "SubjectSubscription",
                                              "range": [
                                                3124,
                                                3143
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 99,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 99,
                                                  "column": 42
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "ThisExpression",
                                                "range": [
                                                  3144,
                                                  3148
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 47
                                                  }
                                                }
                                              },
                                              {
                                                "type": "Identifier",
                                                "name": "subscriber",
                                                "range": [
                                                  3150,
                                                  3160
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 59
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              3120,
                                              3161
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 99,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 99,
                                                "column": 60
                                              }
                                            }
                                          },
                                          "range": [
                                            3113,
                                            3162
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 99,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 99,
                                              "column": 61
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3054,
                                        3172
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 97,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 100,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "range": [
                                      2935,
                                      3172
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 93,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 100,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "range": [
                                    2804,
                                    3172
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 89,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 100,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  2713,
                                  3172
                                ],
                                "loc": {
                                  "start": {
                                    "line": 86,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 100,
                                    "column": 9
                                  }
                                }
                              }
                            ],
                            "range": [
                              2703,
                              3178
                            ],
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 57
                              },
                              "end": {
                                "line": 101,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            2681,
                            3178
                          ],
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 35
                            },
                            "end": {
                              "line": 101,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          2650,
                          3178
                        ],
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 4
                          },
                          "end": {
                            "line": 101,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2650,
                        3179
                      ],
                      "loc": {
                        "start": {
                          "line": 85,
                          "column": 4
                        },
                        "end": {
                          "line": 101,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "Subject",
                              "range": [
                                3184,
                                3191
                              ],
                              "loc": {
                                "start": {
                                  "line": 102,
                                  "column": 4
                                },
                                "end": {
                                  "line": 102,
                                  "column": 11
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                3192,
                                3201
                              ],
                              "loc": {
                                "start": {
                                  "line": 102,
                                  "column": 12
                                },
                                "end": {
                                  "line": 102,
                                  "column": 21
                                }
                              }
                            },
                            "range": [
                              3184,
                              3201
                            ],
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 4
                              },
                              "end": {
                                "line": 102,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "asObservable",
                            "range": [
                              3202,
                              3214
                            ],
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 22
                              },
                              "end": {
                                "line": 102,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            3184,
                            3214
                          ],
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 4
                            },
                            "end": {
                              "line": 102,
                              "column": 34
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "observable",
                                      "range": [
                                        3243,
                                        3253
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "NewExpression",
                                      "callee": {
                                        "type": "Identifier",
                                        "name": "Observable",
                                        "range": [
                                          3260,
                                          3270
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 103,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        3256,
                                        3272
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 41
                                        }
                                      }
                                    },
                                    "range": [
                                      3243,
                                      3272
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 41
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  3239,
                                  3273
                                ],
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 42
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "observable",
                                      "range": [
                                        3282,
                                        3292
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 18
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "source",
                                      "range": [
                                        3293,
                                        3299
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "range": [
                                      3282,
                                      3299
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "ThisExpression",
                                    "range": [
                                      3302,
                                      3306
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    3282,
                                    3306
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 32
                                    }
                                  }
                                },
                                "range": [
                                  3282,
                                  3307
                                ],
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 33
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "Identifier",
                                  "name": "observable",
                                  "range": [
                                    3323,
                                    3333
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 105,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 105,
                                      "column": 25
                                    }
                                  }
                                },
                                "range": [
                                  3316,
                                  3334
                                ],
                                "loc": {
                                  "start": {
                                    "line": 105,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 105,
                                    "column": 26
                                  }
                                }
                              }
                            ],
                            "range": [
                              3229,
                              3340
                            ],
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 49
                              },
                              "end": {
                                "line": 106,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            3217,
                            3340
                          ],
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 37
                            },
                            "end": {
                              "line": 106,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          3184,
                          3340
                        ],
                        "loc": {
                          "start": {
                            "line": 102,
                            "column": 4
                          },
                          "end": {
                            "line": 106,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3184,
                        3341
                      ],
                      "loc": {
                        "start": {
                          "line": 102,
                          "column": 4
                        },
                        "end": {
                          "line": 106,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "Subject",
                            "range": [
                              3346,
                              3353
                            ],
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 4
                              },
                              "end": {
                                "line": 107,
                                "column": 11
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "create",
                            "range": [
                              3354,
                              3360
                            ],
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 12
                              },
                              "end": {
                                "line": 107,
                                "column": 18
                              }
                            }
                          },
                          "range": [
                            3346,
                            3360
                          ],
                          "loc": {
                            "start": {
                              "line": 107,
                              "column": 4
                            },
                            "end": {
                              "line": 107,
                              "column": 18
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "destination",
                              "range": [
                                3373,
                                3384
                              ],
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 31
                                },
                                "end": {
                                  "line": 107,
                                  "column": 42
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "source",
                              "range": [
                                3386,
                                3392
                              ],
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 44
                                },
                                "end": {
                                  "line": 107,
                                  "column": 50
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "NewExpression",
                                  "callee": {
                                    "type": "Identifier",
                                    "name": "AnonymousSubject",
                                    "range": [
                                      3415,
                                      3431
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 35
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        3432,
                                        3443
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 47
                                        }
                                      }
                                    },
                                    {
                                      "type": "Identifier",
                                      "name": "source",
                                      "range": [
                                        3445,
                                        3451
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 55
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3411,
                                    3452
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 108,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 108,
                                      "column": 56
                                    }
                                  }
                                },
                                "range": [
                                  3404,
                                  3453
                                ],
                                "loc": {
                                  "start": {
                                    "line": 108,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 108,
                                    "column": 57
                                  }
                                }
                              }
                            ],
                            "range": [
                              3394,
                              3459
                            ],
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 52
                              },
                              "end": {
                                "line": 109,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            3363,
                            3459
                          ],
                          "loc": {
                            "start": {
                              "line": 107,
                              "column": 21
                            },
                            "end": {
                              "line": 109,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          3346,
                          3459
                        ],
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 4
                          },
                          "end": {
                            "line": 109,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3346,
                        3460
                      ],
                      "loc": {
                        "start": {
                          "line": 107,
                          "column": 4
                        },
                        "end": {
                          "line": 109,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "Subject",
                        "range": [
                          3472,
                          3479
                        ],
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 11
                          },
                          "end": {
                            "line": 110,
                            "column": 18
                          }
                        }
                      },
                      "range": [
                        3465,
                        3480
                      ],
                      "loc": {
                        "start": {
                          "line": 110,
                          "column": 4
                        },
                        "end": {
                          "line": 110,
                          "column": 19
                        }
                      }
                    }
                  ],
                  "range": [
                    704,
                    3482
                  ],
                  "loc": {
                    "start": {
                      "line": 21,
                      "column": 40
                    },
                    "end": {
                      "line": 111,
                      "column": 1
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  686,
                  3482
                ],
                "loc": {
                  "start": {
                    "line": 21,
                    "column": 22
                  },
                  "end": {
                    "line": 111,
                    "column": 1
                  }
                }
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "name": "Observable",
                  "range": [
                    3483,
                    3493
                  ],
                  "loc": {
                    "start": {
                      "line": 111,
                      "column": 2
                    },
                    "end": {
                      "line": 111,
                      "column": 12
                    }
                  }
                }
              ],
              "range": [
                686,
                3494
              ],
              "loc": {
                "start": {
                  "line": 21,
                  "column": 22
                },
                "end": {
                  "line": 111,
                  "column": 13
                }
              }
            },
            "range": [
              675,
              3495
            ],
            "loc": {
              "start": {
                "line": 21,
                "column": 11
              },
              "end": {
                "line": 111,
                "column": 14
              }
            }
          }
        ],
        "kind": "var",
        "range": [
          671,
          3496
        ],
        "loc": {
          "start": {
            "line": 21,
            "column": 7
          },
          "end": {
            "line": 111,
            "column": 15
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * @class Subject<T>\n ",
            "range": [
              635,
              663
            ],
            "loc": {
              "start": {
                "line": 18,
                "column": 0
              },
              "end": {
                "line": 20,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Block",
            "value": "*\n * @class AnonymousSubject<T>\n ",
            "range": [
              3497,
              3534
            ],
            "loc": {
              "start": {
                "line": 112,
                "column": 0
              },
              "end": {
                "line": 114,
                "column": 3
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        664,
        3496
      ],
      "loc": {
        "start": {
          "line": 21,
          "column": 0
        },
        "end": {
          "line": 111,
          "column": 15
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * @class Subject<T>\n ",
          "range": [
            635,
            663
          ],
          "loc": {
            "start": {
              "line": 18,
              "column": 0
            },
            "end": {
              "line": 20,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * @class AnonymousSubject<T>\n ",
          "range": [
            3497,
            3534
          ],
          "loc": {
            "start": {
              "line": 112,
              "column": 0
            },
            "end": {
              "line": 114,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "AnonymousSubject",
              "range": [
                3546,
                3562
              ],
              "loc": {
                "start": {
                  "line": 115,
                  "column": 11
                },
                "end": {
                  "line": 115,
                  "column": 27
                }
              }
            },
            "init": {
              "type": "CallExpression",
              "callee": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "_super",
                    "range": [
                      3576,
                      3582
                    ],
                    "loc": {
                      "start": {
                        "line": 115,
                        "column": 41
                      },
                      "end": {
                        "line": 115,
                        "column": 47
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "Identifier",
                          "name": "__extends",
                          "range": [
                            3590,
                            3599
                          ],
                          "loc": {
                            "start": {
                              "line": 116,
                              "column": 4
                            },
                            "end": {
                              "line": 116,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "AnonymousSubject",
                            "range": [
                              3600,
                              3616
                            ],
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 14
                              },
                              "end": {
                                "line": 116,
                                "column": 30
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "_super",
                            "range": [
                              3618,
                              3624
                            ],
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 32
                              },
                              "end": {
                                "line": 116,
                                "column": 38
                              }
                            }
                          }
                        ],
                        "range": [
                          3590,
                          3625
                        ],
                        "loc": {
                          "start": {
                            "line": 116,
                            "column": 4
                          },
                          "end": {
                            "line": 116,
                            "column": 39
                          }
                        }
                      },
                      "range": [
                        3590,
                        3626
                      ],
                      "loc": {
                        "start": {
                          "line": 116,
                          "column": 4
                        },
                        "end": {
                          "line": 116,
                          "column": 40
                        }
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "id": {
                        "type": "Identifier",
                        "name": "AnonymousSubject",
                        "range": [
                          3640,
                          3656
                        ],
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 13
                          },
                          "end": {
                            "line": 117,
                            "column": 29
                          }
                        }
                      },
                      "params": [
                        {
                          "type": "Identifier",
                          "name": "destination",
                          "range": [
                            3657,
                            3668
                          ],
                          "loc": {
                            "start": {
                              "line": 117,
                              "column": 30
                            },
                            "end": {
                              "line": 117,
                              "column": 41
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "source",
                          "range": [
                            3670,
                            3676
                          ],
                          "loc": {
                            "start": {
                              "line": 117,
                              "column": 43
                            },
                            "end": {
                              "line": 117,
                              "column": 49
                            }
                          }
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "_super",
                                  "range": [
                                    3688,
                                    3694
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 14
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "call",
                                  "range": [
                                    3695,
                                    3699
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 19
                                    }
                                  }
                                },
                                "range": [
                                  3688,
                                  3699
                                ],
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 19
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "range": [
                                    3700,
                                    3704
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 24
                                    }
                                  }
                                }
                              ],
                              "range": [
                                3688,
                                3705
                              ],
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 8
                                },
                                "end": {
                                  "line": 118,
                                  "column": 25
                                }
                              }
                            },
                            "range": [
                              3688,
                              3706
                            ],
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 8
                              },
                              "end": {
                                "line": 118,
                                "column": 26
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    3715,
                                    3719
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 119,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 119,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "destination",
                                  "range": [
                                    3720,
                                    3731
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 119,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 119,
                                      "column": 24
                                    }
                                  }
                                },
                                "range": [
                                  3715,
                                  3731
                                ],
                                "loc": {
                                  "start": {
                                    "line": 119,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 24
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  3734,
                                  3745
                                ],
                                "loc": {
                                  "start": {
                                    "line": 119,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 38
                                  }
                                }
                              },
                              "range": [
                                3715,
                                3745
                              ],
                              "loc": {
                                "start": {
                                  "line": 119,
                                  "column": 8
                                },
                                "end": {
                                  "line": 119,
                                  "column": 38
                                }
                              }
                            },
                            "range": [
                              3715,
                              3746
                            ],
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 8
                              },
                              "end": {
                                "line": 119,
                                "column": 39
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    3755,
                                    3759
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "source",
                                  "range": [
                                    3760,
                                    3766
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 19
                                    }
                                  }
                                },
                                "range": [
                                  3755,
                                  3766
                                ],
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 19
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "source",
                                "range": [
                                  3769,
                                  3775
                                ],
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 28
                                  }
                                }
                              },
                              "range": [
                                3755,
                                3775
                              ],
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 8
                                },
                                "end": {
                                  "line": 120,
                                  "column": 28
                                }
                              }
                            },
                            "range": [
                              3755,
                              3776
                            ],
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 8
                              },
                              "end": {
                                "line": 120,
                                "column": 29
                              }
                            }
                          }
                        ],
                        "range": [
                          3678,
                          3782
                        ],
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 51
                          },
                          "end": {
                            "line": 121,
                            "column": 5
                          }
                        }
                      },
                      "generator": false,
                      "expression": false,
                      "range": [
                        3631,
                        3782
                      ],
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 4
                        },
                        "end": {
                          "line": 121,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "AnonymousSubject",
                              "range": [
                                3787,
                                3803
                              ],
                              "loc": {
                                "start": {
                                  "line": 122,
                                  "column": 4
                                },
                                "end": {
                                  "line": 122,
                                  "column": 20
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                3804,
                                3813
                              ],
                              "loc": {
                                "start": {
                                  "line": 122,
                                  "column": 21
                                },
                                "end": {
                                  "line": 122,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              3787,
                              3813
                            ],
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 4
                              },
                              "end": {
                                "line": 122,
                                "column": 30
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "next",
                            "range": [
                              3814,
                              3818
                            ],
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 31
                              },
                              "end": {
                                "line": 122,
                                "column": 35
                              }
                            }
                          },
                          "range": [
                            3787,
                            3818
                          ],
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 4
                            },
                            "end": {
                              "line": 122,
                              "column": 35
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "value",
                              "range": [
                                3831,
                                3836
                              ],
                              "loc": {
                                "start": {
                                  "line": 122,
                                  "column": 48
                                },
                                "end": {
                                  "line": 122,
                                  "column": 53
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        3852,
                                        3863
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 123,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 123,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          3866,
                                          3870
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 123,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 123,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "destination",
                                        "range": [
                                          3871,
                                          3882
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 123,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 123,
                                            "column": 42
                                          }
                                        }
                                      },
                                      "range": [
                                        3866,
                                        3882
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 123,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 123,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "range": [
                                      3852,
                                      3882
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 123,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 123,
                                        "column": 42
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  3848,
                                  3883
                                ],
                                "loc": {
                                  "start": {
                                    "line": 123,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 123,
                                    "column": 43
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "LogicalExpression",
                                  "operator": "&&",
                                  "left": {
                                    "type": "Identifier",
                                    "name": "destination",
                                    "range": [
                                      3896,
                                      3907
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 124,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 124,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        3911,
                                        3922
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "next",
                                      "range": [
                                        3923,
                                        3927
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "range": [
                                      3911,
                                      3927
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 124,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 124,
                                        "column": 43
                                      }
                                    }
                                  },
                                  "range": [
                                    3896,
                                    3927
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 124,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 124,
                                      "column": 43
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "destination",
                                            "range": [
                                              3943,
                                              3954
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 125,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 125,
                                                "column": 23
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "next",
                                            "range": [
                                              3955,
                                              3959
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 125,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 125,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "range": [
                                            3943,
                                            3959
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 125,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 125,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "value",
                                            "range": [
                                              3960,
                                              3965
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 125,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 125,
                                                "column": 34
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          3943,
                                          3966
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 125,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 125,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "range": [
                                        3943,
                                        3967
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 125,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 125,
                                          "column": 36
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3929,
                                    3977
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 124,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 126,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  3892,
                                  3977
                                ],
                                "loc": {
                                  "start": {
                                    "line": 124,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 126,
                                    "column": 9
                                  }
                                }
                              }
                            ],
                            "range": [
                              3838,
                              3983
                            ],
                            "loc": {
                              "start": {
                                "line": 122,
                                "column": 55
                              },
                              "end": {
                                "line": 127,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            3821,
                            3983
                          ],
                          "loc": {
                            "start": {
                              "line": 122,
                              "column": 38
                            },
                            "end": {
                              "line": 127,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          3787,
                          3983
                        ],
                        "loc": {
                          "start": {
                            "line": 122,
                            "column": 4
                          },
                          "end": {
                            "line": 127,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3787,
                        3984
                      ],
                      "loc": {
                        "start": {
                          "line": 122,
                          "column": 4
                        },
                        "end": {
                          "line": 127,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "AnonymousSubject",
                              "range": [
                                3989,
                                4005
                              ],
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 4
                                },
                                "end": {
                                  "line": 128,
                                  "column": 20
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                4006,
                                4015
                              ],
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 21
                                },
                                "end": {
                                  "line": 128,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              3989,
                              4015
                            ],
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 4
                              },
                              "end": {
                                "line": 128,
                                "column": 30
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "error",
                            "range": [
                              4016,
                              4021
                            ],
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 31
                              },
                              "end": {
                                "line": 128,
                                "column": 36
                              }
                            }
                          },
                          "range": [
                            3989,
                            4021
                          ],
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 4
                            },
                            "end": {
                              "line": 128,
                              "column": 36
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "err",
                              "range": [
                                4034,
                                4037
                              ],
                              "loc": {
                                "start": {
                                  "line": 128,
                                  "column": 49
                                },
                                "end": {
                                  "line": 128,
                                  "column": 52
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        4053,
                                        4064
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 129,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 129,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          4067,
                                          4071
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 129,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 129,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "destination",
                                        "range": [
                                          4072,
                                          4083
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 129,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 129,
                                            "column": 42
                                          }
                                        }
                                      },
                                      "range": [
                                        4067,
                                        4083
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 129,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 129,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "range": [
                                      4053,
                                      4083
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 129,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 129,
                                        "column": 42
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  4049,
                                  4084
                                ],
                                "loc": {
                                  "start": {
                                    "line": 129,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 129,
                                    "column": 43
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "LogicalExpression",
                                  "operator": "&&",
                                  "left": {
                                    "type": "Identifier",
                                    "name": "destination",
                                    "range": [
                                      4097,
                                      4108
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        4112,
                                        4123
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "error",
                                      "range": [
                                        4124,
                                        4129
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 44
                                        }
                                      }
                                    },
                                    "range": [
                                      4112,
                                      4129
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 44
                                      }
                                    }
                                  },
                                  "range": [
                                    4097,
                                    4129
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 130,
                                      "column": 44
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                4145,
                                                4149
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 131,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 131,
                                                  "column": 16
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "destination",
                                              "range": [
                                                4150,
                                                4161
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 131,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 131,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "range": [
                                              4145,
                                              4161
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 131,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 131,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "error",
                                            "range": [
                                              4162,
                                              4167
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 131,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 131,
                                                "column": 34
                                              }
                                            }
                                          },
                                          "range": [
                                            4145,
                                            4167
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 34
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "err",
                                            "range": [
                                              4168,
                                              4171
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 131,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 131,
                                                "column": 38
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          4145,
                                          4172
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 131,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 131,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "range": [
                                        4145,
                                        4173
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 131,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 131,
                                          "column": 40
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    4131,
                                    4183
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 132,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  4093,
                                  4183
                                ],
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 132,
                                    "column": 9
                                  }
                                }
                              }
                            ],
                            "range": [
                              4039,
                              4189
                            ],
                            "loc": {
                              "start": {
                                "line": 128,
                                "column": 54
                              },
                              "end": {
                                "line": 133,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            4024,
                            4189
                          ],
                          "loc": {
                            "start": {
                              "line": 128,
                              "column": 39
                            },
                            "end": {
                              "line": 133,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          3989,
                          4189
                        ],
                        "loc": {
                          "start": {
                            "line": 128,
                            "column": 4
                          },
                          "end": {
                            "line": 133,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3989,
                        4190
                      ],
                      "loc": {
                        "start": {
                          "line": 128,
                          "column": 4
                        },
                        "end": {
                          "line": 133,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "AnonymousSubject",
                              "range": [
                                4195,
                                4211
                              ],
                              "loc": {
                                "start": {
                                  "line": 134,
                                  "column": 4
                                },
                                "end": {
                                  "line": 134,
                                  "column": 20
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                4212,
                                4221
                              ],
                              "loc": {
                                "start": {
                                  "line": 134,
                                  "column": 21
                                },
                                "end": {
                                  "line": 134,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              4195,
                              4221
                            ],
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 4
                              },
                              "end": {
                                "line": 134,
                                "column": 30
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "complete",
                            "range": [
                              4222,
                              4230
                            ],
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 31
                              },
                              "end": {
                                "line": 134,
                                "column": 39
                              }
                            }
                          },
                          "range": [
                            4195,
                            4230
                          ],
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 4
                            },
                            "end": {
                              "line": 134,
                              "column": 39
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        4259,
                                        4270
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 135,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 135,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          4273,
                                          4277
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 135,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 135,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "destination",
                                        "range": [
                                          4278,
                                          4289
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 135,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 135,
                                            "column": 42
                                          }
                                        }
                                      },
                                      "range": [
                                        4273,
                                        4289
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 135,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 135,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "range": [
                                      4259,
                                      4289
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 135,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 135,
                                        "column": 42
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  4255,
                                  4290
                                ],
                                "loc": {
                                  "start": {
                                    "line": 135,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 135,
                                    "column": 43
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "LogicalExpression",
                                  "operator": "&&",
                                  "left": {
                                    "type": "Identifier",
                                    "name": "destination",
                                    "range": [
                                      4303,
                                      4314
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 136,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 136,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        4318,
                                        4329
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 136,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 136,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "complete",
                                      "range": [
                                        4330,
                                        4338
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 136,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 136,
                                          "column": 47
                                        }
                                      }
                                    },
                                    "range": [
                                      4318,
                                      4338
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 136,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 136,
                                        "column": 47
                                      }
                                    }
                                  },
                                  "range": [
                                    4303,
                                    4338
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 136,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 136,
                                      "column": 47
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                4354,
                                                4358
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 137,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 137,
                                                  "column": 16
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "destination",
                                              "range": [
                                                4359,
                                                4370
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 137,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 137,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "range": [
                                              4354,
                                              4370
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 137,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 137,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "complete",
                                            "range": [
                                              4371,
                                              4379
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 137,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 137,
                                                "column": 37
                                              }
                                            }
                                          },
                                          "range": [
                                            4354,
                                            4379
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 137,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 137,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "arguments": [],
                                        "range": [
                                          4354,
                                          4381
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 137,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 137,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "range": [
                                        4354,
                                        4382
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 137,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 137,
                                          "column": 40
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    4340,
                                    4392
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 136,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 138,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  4299,
                                  4392
                                ],
                                "loc": {
                                  "start": {
                                    "line": 136,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 138,
                                    "column": 9
                                  }
                                }
                              }
                            ],
                            "range": [
                              4245,
                              4398
                            ],
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 54
                              },
                              "end": {
                                "line": 139,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            4233,
                            4398
                          ],
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 42
                            },
                            "end": {
                              "line": 139,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          4195,
                          4398
                        ],
                        "loc": {
                          "start": {
                            "line": 134,
                            "column": 4
                          },
                          "end": {
                            "line": 139,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4195,
                        4399
                      ],
                      "loc": {
                        "start": {
                          "line": 134,
                          "column": 4
                        },
                        "end": {
                          "line": 139,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "AnonymousSubject",
                              "range": [
                                4404,
                                4420
                              ],
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 4
                                },
                                "end": {
                                  "line": 140,
                                  "column": 20
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                4421,
                                4430
                              ],
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 21
                                },
                                "end": {
                                  "line": 140,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              4404,
                              4430
                            ],
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 4
                              },
                              "end": {
                                "line": 140,
                                "column": 30
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_subscribe",
                            "range": [
                              4431,
                              4441
                            ],
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 31
                              },
                              "end": {
                                "line": 140,
                                "column": 41
                              }
                            }
                          },
                          "range": [
                            4404,
                            4441
                          ],
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 4
                            },
                            "end": {
                              "line": 140,
                              "column": 41
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "subscriber",
                              "range": [
                                4454,
                                4464
                              ],
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 54
                                },
                                "end": {
                                  "line": 140,
                                  "column": 64
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "source",
                                      "range": [
                                        4480,
                                        4486
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 141,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 141,
                                          "column": 18
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          4489,
                                          4493
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 141,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 141,
                                            "column": 25
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "source",
                                        "range": [
                                          4494,
                                          4500
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 141,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 141,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "range": [
                                        4489,
                                        4500
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 141,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 141,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "range": [
                                      4480,
                                      4500
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 32
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  4476,
                                  4501
                                ],
                                "loc": {
                                  "start": {
                                    "line": 141,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 141,
                                    "column": 33
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "Identifier",
                                  "name": "source",
                                  "range": [
                                    4514,
                                    4520
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 142,
                                      "column": 18
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                4543,
                                                4547
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 143,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 143,
                                                  "column": 23
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "source",
                                              "range": [
                                                4548,
                                                4554
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 143,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 143,
                                                  "column": 30
                                                }
                                              }
                                            },
                                            "range": [
                                              4543,
                                              4554
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 143,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 143,
                                                "column": 30
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "subscribe",
                                            "range": [
                                              4555,
                                              4564
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 143,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 143,
                                                "column": 40
                                              }
                                            }
                                          },
                                          "range": [
                                            4543,
                                            4564
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 143,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 143,
                                              "column": 40
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "subscriber",
                                            "range": [
                                              4565,
                                              4575
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 143,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 143,
                                                "column": 51
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          4543,
                                          4576
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 143,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 143,
                                            "column": 52
                                          }
                                        }
                                      },
                                      "range": [
                                        4536,
                                        4577
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 143,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 143,
                                          "column": 53
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    4522,
                                    4587
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "Subscription",
                                          "range": [
                                            4622,
                                            4634
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 146,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 146,
                                              "column": 31
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "EMPTY",
                                          "range": [
                                            4635,
                                            4640
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 146,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 146,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "range": [
                                          4622,
                                          4640
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "range": [
                                        4615,
                                        4641
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 38
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    4601,
                                    4651
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 145,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 147,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  4510,
                                  4651
                                ],
                                "loc": {
                                  "start": {
                                    "line": 142,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 147,
                                    "column": 9
                                  }
                                }
                              }
                            ],
                            "range": [
                              4466,
                              4657
                            ],
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 66
                              },
                              "end": {
                                "line": 148,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            4444,
                            4657
                          ],
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 44
                            },
                            "end": {
                              "line": 148,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          4404,
                          4657
                        ],
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 4
                          },
                          "end": {
                            "line": 148,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4404,
                        4658
                      ],
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 4
                        },
                        "end": {
                          "line": 148,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "AnonymousSubject",
                        "range": [
                          4670,
                          4686
                        ],
                        "loc": {
                          "start": {
                            "line": 149,
                            "column": 11
                          },
                          "end": {
                            "line": 149,
                            "column": 27
                          }
                        }
                      },
                      "range": [
                        4663,
                        4687
                      ],
                      "loc": {
                        "start": {
                          "line": 149,
                          "column": 4
                        },
                        "end": {
                          "line": 149,
                          "column": 28
                        }
                      }
                    }
                  ],
                  "range": [
                    3584,
                    4689
                  ],
                  "loc": {
                    "start": {
                      "line": 115,
                      "column": 49
                    },
                    "end": {
                      "line": 150,
                      "column": 1
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  3566,
                  4689
                ],
                "loc": {
                  "start": {
                    "line": 115,
                    "column": 31
                  },
                  "end": {
                    "line": 150,
                    "column": 1
                  }
                }
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "name": "Subject",
                  "range": [
                    4690,
                    4697
                  ],
                  "loc": {
                    "start": {
                      "line": 150,
                      "column": 2
                    },
                    "end": {
                      "line": 150,
                      "column": 9
                    }
                  }
                }
              ],
              "range": [
                3566,
                4698
              ],
              "loc": {
                "start": {
                  "line": 115,
                  "column": 31
                },
                "end": {
                  "line": 150,
                  "column": 10
                }
              }
            },
            "range": [
              3546,
              4699
            ],
            "loc": {
              "start": {
                "line": 115,
                "column": 11
              },
              "end": {
                "line": 150,
                "column": 11
              }
            }
          }
        ],
        "kind": "var",
        "range": [
          3542,
          4700
        ],
        "loc": {
          "start": {
            "line": 115,
            "column": 7
          },
          "end": {
            "line": 150,
            "column": 12
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * @class AnonymousSubject<T>\n ",
            "range": [
              3497,
              3534
            ],
            "loc": {
              "start": {
                "line": 112,
                "column": 0
              },
              "end": {
                "line": 114,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Line",
            "value": "# sourceMappingURL=Subject.js.map",
            "range": [
              4701,
              4736
            ],
            "loc": {
              "start": {
                "line": 151,
                "column": 0
              },
              "end": {
                "line": 151,
                "column": 35
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        3535,
        4700
      ],
      "loc": {
        "start": {
          "line": 115,
          "column": 0
        },
        "end": {
          "line": 150,
          "column": 12
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * @class AnonymousSubject<T>\n ",
          "range": [
            3497,
            3534
          ],
          "loc": {
            "start": {
              "line": 112,
              "column": 0
            },
            "end": {
              "line": 114,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=Subject.js.map",
          "range": [
            4701,
            4736
          ],
          "loc": {
            "start": {
              "line": 151,
              "column": 0
            },
            "end": {
              "line": 151,
              "column": 35
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    4700
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 150,
      "column": 12
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * @class SubjectSubscriber<T>\n ",
      "range": [
        324,
        362
      ],
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * @class Subject<T>\n ",
      "range": [
        635,
        663
      ],
      "loc": {
        "start": {
          "line": 18,
          "column": 0
        },
        "end": {
          "line": 20,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * @class AnonymousSubject<T>\n ",
      "range": [
        3497,
        3534
      ],
      "loc": {
        "start": {
          "line": 112,
          "column": 0
        },
        "end": {
          "line": 114,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=Subject.js.map",
      "range": [
        4701,
        4736
      ],
      "loc": {
        "start": {
          "line": 151,
          "column": 0
        },
        "end": {
          "line": 151,
          "column": 35
        }
      }
    }
  ]
}