{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Observable",
            "range": [
              9,
              19
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Observable",
            "range": [
              9,
              19
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 19
              }
            }
          },
          "range": [
            9,
            19
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 19
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../Observable",
        "raw": "'../Observable'",
        "range": [
          27,
          42
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 27
          },
          "end": {
            "line": 1,
            "column": 42
          }
        }
      },
      "range": [
        0,
        43
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 43
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "tryCatch",
            "range": [
              53,
              61
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 17
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "tryCatch",
            "range": [
              53,
              61
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 17
              }
            }
          },
          "range": [
            53,
            61
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 17
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/tryCatch",
        "raw": "'../util/tryCatch'",
        "range": [
          69,
          87
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 25
          },
          "end": {
            "line": 2,
            "column": 43
          }
        }
      },
      "range": [
        44,
        88
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 44
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "isFunction",
            "range": [
              98,
              108
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "isFunction",
            "range": [
              98,
              108
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 19
              }
            }
          },
          "range": [
            98,
            108
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 9
            },
            "end": {
              "line": 3,
              "column": 19
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/isFunction",
        "raw": "'../util/isFunction'",
        "range": [
          116,
          136
        ],
        "loc": {
          "start": {
            "line": 3,
            "column": 27
          },
          "end": {
            "line": 3,
            "column": 47
          }
        }
      },
      "range": [
        89,
        137
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 48
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "errorObject",
            "range": [
              147,
              158
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 20
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "errorObject",
            "range": [
              147,
              158
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 20
              }
            }
          },
          "range": [
            147,
            158
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 9
            },
            "end": {
              "line": 4,
              "column": 20
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/errorObject",
        "raw": "'../util/errorObject'",
        "range": [
          166,
          187
        ],
        "loc": {
          "start": {
            "line": 4,
            "column": 28
          },
          "end": {
            "line": 4,
            "column": 49
          }
        }
      },
      "range": [
        138,
        188
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 50
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Subscription",
            "range": [
              198,
              210
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 9
              },
              "end": {
                "line": 5,
                "column": 21
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Subscription",
            "range": [
              198,
              210
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 9
              },
              "end": {
                "line": 5,
                "column": 21
              }
            }
          },
          "range": [
            198,
            210
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 9
            },
            "end": {
              "line": 5,
              "column": 21
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../Subscription",
        "raw": "'../Subscription'",
        "range": [
          218,
          235
        ],
        "loc": {
          "start": {
            "line": 5,
            "column": 29
          },
          "end": {
            "line": 5,
            "column": 46
          }
        }
      },
      "range": [
        189,
        236
      ],
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 47
        }
      }
    },
    {
      "type": "FunctionDeclaration",
      "id": {
        "type": "Identifier",
        "name": "isNodeStyleEventEmmitter",
        "range": [
          246,
          270
        ],
        "loc": {
          "start": {
            "line": 6,
            "column": 9
          },
          "end": {
            "line": 6,
            "column": 33
          }
        }
      },
      "params": [
        {
          "type": "Identifier",
          "name": "sourceObj",
          "range": [
            271,
            280
          ],
          "loc": {
            "start": {
              "line": 6,
              "column": 34
            },
            "end": {
              "line": 6,
              "column": 43
            }
          }
        }
      ],
      "body": {
        "type": "BlockStatement",
        "body": [
          {
            "type": "ReturnStatement",
            "argument": {
              "type": "LogicalExpression",
              "operator": "&&",
              "left": {
                "type": "LogicalExpression",
                "operator": "&&",
                "left": {
                  "type": "UnaryExpression",
                  "operator": "!",
                  "argument": {
                    "type": "UnaryExpression",
                    "operator": "!",
                    "argument": {
                      "type": "Identifier",
                      "name": "sourceObj",
                      "range": [
                        297,
                        306
                      ],
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 13
                        },
                        "end": {
                          "line": 7,
                          "column": 22
                        }
                      }
                    },
                    "prefix": true,
                    "range": [
                      296,
                      306
                    ],
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 12
                      },
                      "end": {
                        "line": 7,
                        "column": 22
                      }
                    }
                  },
                  "prefix": true,
                  "range": [
                    295,
                    306
                  ],
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 11
                    },
                    "end": {
                      "line": 7,
                      "column": 22
                    }
                  }
                },
                "right": {
                  "type": "BinaryExpression",
                  "operator": "===",
                  "left": {
                    "type": "UnaryExpression",
                    "operator": "typeof",
                    "argument": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "sourceObj",
                        "range": [
                          317,
                          326
                        ],
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 33
                          },
                          "end": {
                            "line": 7,
                            "column": 42
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "addListener",
                        "range": [
                          327,
                          338
                        ],
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 43
                          },
                          "end": {
                            "line": 7,
                            "column": 54
                          }
                        }
                      },
                      "range": [
                        317,
                        338
                      ],
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 33
                        },
                        "end": {
                          "line": 7,
                          "column": 54
                        }
                      }
                    },
                    "prefix": true,
                    "range": [
                      310,
                      338
                    ],
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 26
                      },
                      "end": {
                        "line": 7,
                        "column": 54
                      }
                    }
                  },
                  "right": {
                    "type": "Literal",
                    "value": "function",
                    "raw": "'function'",
                    "range": [
                      343,
                      353
                    ],
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 59
                      },
                      "end": {
                        "line": 7,
                        "column": 69
                      }
                    }
                  },
                  "range": [
                    310,
                    353
                  ],
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 26
                    },
                    "end": {
                      "line": 7,
                      "column": 69
                    }
                  }
                },
                "range": [
                  295,
                  353
                ],
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 11
                  },
                  "end": {
                    "line": 7,
                    "column": 69
                  }
                }
              },
              "right": {
                "type": "BinaryExpression",
                "operator": "===",
                "left": {
                  "type": "UnaryExpression",
                  "operator": "typeof",
                  "argument": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "Identifier",
                      "name": "sourceObj",
                      "range": [
                        364,
                        373
                      ],
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 80
                        },
                        "end": {
                          "line": 7,
                          "column": 89
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "removeListener",
                      "range": [
                        374,
                        388
                      ],
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 90
                        },
                        "end": {
                          "line": 7,
                          "column": 104
                        }
                      }
                    },
                    "range": [
                      364,
                      388
                    ],
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 80
                      },
                      "end": {
                        "line": 7,
                        "column": 104
                      }
                    }
                  },
                  "prefix": true,
                  "range": [
                    357,
                    388
                  ],
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 73
                    },
                    "end": {
                      "line": 7,
                      "column": 104
                    }
                  }
                },
                "right": {
                  "type": "Literal",
                  "value": "function",
                  "raw": "'function'",
                  "range": [
                    393,
                    403
                  ],
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 109
                    },
                    "end": {
                      "line": 7,
                      "column": 119
                    }
                  }
                },
                "range": [
                  357,
                  403
                ],
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 73
                  },
                  "end": {
                    "line": 7,
                    "column": 119
                  }
                }
              },
              "range": [
                295,
                403
              ],
              "loc": {
                "start": {
                  "line": 7,
                  "column": 11
                },
                "end": {
                  "line": 7,
                  "column": 119
                }
              }
            },
            "range": [
              288,
              404
            ],
            "loc": {
              "start": {
                "line": 7,
                "column": 4
              },
              "end": {
                "line": 7,
                "column": 120
              }
            }
          }
        ],
        "range": [
          282,
          406
        ],
        "loc": {
          "start": {
            "line": 6,
            "column": 45
          },
          "end": {
            "line": 8,
            "column": 1
          }
        }
      },
      "generator": false,
      "expression": false,
      "range": [
        237,
        406
      ],
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 1
        }
      }
    },
    {
      "type": "FunctionDeclaration",
      "id": {
        "type": "Identifier",
        "name": "isJQueryStyleEventEmitter",
        "range": [
          416,
          441
        ],
        "loc": {
          "start": {
            "line": 9,
            "column": 9
          },
          "end": {
            "line": 9,
            "column": 34
          }
        }
      },
      "params": [
        {
          "type": "Identifier",
          "name": "sourceObj",
          "range": [
            442,
            451
          ],
          "loc": {
            "start": {
              "line": 9,
              "column": 35
            },
            "end": {
              "line": 9,
              "column": 44
            }
          }
        }
      ],
      "body": {
        "type": "BlockStatement",
        "body": [
          {
            "type": "ReturnStatement",
            "argument": {
              "type": "LogicalExpression",
              "operator": "&&",
              "left": {
                "type": "LogicalExpression",
                "operator": "&&",
                "left": {
                  "type": "UnaryExpression",
                  "operator": "!",
                  "argument": {
                    "type": "UnaryExpression",
                    "operator": "!",
                    "argument": {
                      "type": "Identifier",
                      "name": "sourceObj",
                      "range": [
                        468,
                        477
                      ],
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 13
                        },
                        "end": {
                          "line": 10,
                          "column": 22
                        }
                      }
                    },
                    "prefix": true,
                    "range": [
                      467,
                      477
                    ],
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 12
                      },
                      "end": {
                        "line": 10,
                        "column": 22
                      }
                    }
                  },
                  "prefix": true,
                  "range": [
                    466,
                    477
                  ],
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 11
                    },
                    "end": {
                      "line": 10,
                      "column": 22
                    }
                  }
                },
                "right": {
                  "type": "BinaryExpression",
                  "operator": "===",
                  "left": {
                    "type": "UnaryExpression",
                    "operator": "typeof",
                    "argument": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "sourceObj",
                        "range": [
                          488,
                          497
                        ],
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 33
                          },
                          "end": {
                            "line": 10,
                            "column": 42
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "on",
                        "range": [
                          498,
                          500
                        ],
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 43
                          },
                          "end": {
                            "line": 10,
                            "column": 45
                          }
                        }
                      },
                      "range": [
                        488,
                        500
                      ],
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 33
                        },
                        "end": {
                          "line": 10,
                          "column": 45
                        }
                      }
                    },
                    "prefix": true,
                    "range": [
                      481,
                      500
                    ],
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 26
                      },
                      "end": {
                        "line": 10,
                        "column": 45
                      }
                    }
                  },
                  "right": {
                    "type": "Literal",
                    "value": "function",
                    "raw": "'function'",
                    "range": [
                      505,
                      515
                    ],
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 50
                      },
                      "end": {
                        "line": 10,
                        "column": 60
                      }
                    }
                  },
                  "range": [
                    481,
                    515
                  ],
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 26
                    },
                    "end": {
                      "line": 10,
                      "column": 60
                    }
                  }
                },
                "range": [
                  466,
                  515
                ],
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 11
                  },
                  "end": {
                    "line": 10,
                    "column": 60
                  }
                }
              },
              "right": {
                "type": "BinaryExpression",
                "operator": "===",
                "left": {
                  "type": "UnaryExpression",
                  "operator": "typeof",
                  "argument": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "Identifier",
                      "name": "sourceObj",
                      "range": [
                        526,
                        535
                      ],
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 71
                        },
                        "end": {
                          "line": 10,
                          "column": 80
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "off",
                      "range": [
                        536,
                        539
                      ],
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 81
                        },
                        "end": {
                          "line": 10,
                          "column": 84
                        }
                      }
                    },
                    "range": [
                      526,
                      539
                    ],
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 71
                      },
                      "end": {
                        "line": 10,
                        "column": 84
                      }
                    }
                  },
                  "prefix": true,
                  "range": [
                    519,
                    539
                  ],
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 64
                    },
                    "end": {
                      "line": 10,
                      "column": 84
                    }
                  }
                },
                "right": {
                  "type": "Literal",
                  "value": "function",
                  "raw": "'function'",
                  "range": [
                    544,
                    554
                  ],
                  "loc": {
                    "start": {
                      "line": 10,
                      "column": 89
                    },
                    "end": {
                      "line": 10,
                      "column": 99
                    }
                  }
                },
                "range": [
                  519,
                  554
                ],
                "loc": {
                  "start": {
                    "line": 10,
                    "column": 64
                  },
                  "end": {
                    "line": 10,
                    "column": 99
                  }
                }
              },
              "range": [
                466,
                554
              ],
              "loc": {
                "start": {
                  "line": 10,
                  "column": 11
                },
                "end": {
                  "line": 10,
                  "column": 99
                }
              }
            },
            "range": [
              459,
              555
            ],
            "loc": {
              "start": {
                "line": 10,
                "column": 4
              },
              "end": {
                "line": 10,
                "column": 100
              }
            }
          }
        ],
        "range": [
          453,
          557
        ],
        "loc": {
          "start": {
            "line": 9,
            "column": 46
          },
          "end": {
            "line": 11,
            "column": 1
          }
        }
      },
      "generator": false,
      "expression": false,
      "range": [
        407,
        557
      ],
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 11,
          "column": 1
        }
      }
    },
    {
      "type": "FunctionDeclaration",
      "id": {
        "type": "Identifier",
        "name": "isNodeList",
        "range": [
          567,
          577
        ],
        "loc": {
          "start": {
            "line": 12,
            "column": 9
          },
          "end": {
            "line": 12,
            "column": 19
          }
        }
      },
      "params": [
        {
          "type": "Identifier",
          "name": "sourceObj",
          "range": [
            578,
            587
          ],
          "loc": {
            "start": {
              "line": 12,
              "column": 20
            },
            "end": {
              "line": 12,
              "column": 29
            }
          }
        }
      ],
      "body": {
        "type": "BlockStatement",
        "body": [
          {
            "type": "ReturnStatement",
            "argument": {
              "type": "LogicalExpression",
              "operator": "&&",
              "left": {
                "type": "UnaryExpression",
                "operator": "!",
                "argument": {
                  "type": "UnaryExpression",
                  "operator": "!",
                  "argument": {
                    "type": "Identifier",
                    "name": "sourceObj",
                    "range": [
                      604,
                      613
                    ],
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 13
                      },
                      "end": {
                        "line": 13,
                        "column": 22
                      }
                    }
                  },
                  "prefix": true,
                  "range": [
                    603,
                    613
                  ],
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 12
                    },
                    "end": {
                      "line": 13,
                      "column": 22
                    }
                  }
                },
                "prefix": true,
                "range": [
                  602,
                  613
                ],
                "loc": {
                  "start": {
                    "line": 13,
                    "column": 11
                  },
                  "end": {
                    "line": 13,
                    "column": 22
                  }
                }
              },
              "right": {
                "type": "BinaryExpression",
                "operator": "===",
                "left": {
                  "type": "CallExpression",
                  "callee": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "Identifier",
                      "name": "sourceObj",
                      "range": [
                        617,
                        626
                      ],
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 26
                        },
                        "end": {
                          "line": 13,
                          "column": 35
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "toString",
                      "range": [
                        627,
                        635
                      ],
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 36
                        },
                        "end": {
                          "line": 13,
                          "column": 44
                        }
                      }
                    },
                    "range": [
                      617,
                      635
                    ],
                    "loc": {
                      "start": {
                        "line": 13,
                        "column": 26
                      },
                      "end": {
                        "line": 13,
                        "column": 44
                      }
                    }
                  },
                  "arguments": [],
                  "range": [
                    617,
                    637
                  ],
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 26
                    },
                    "end": {
                      "line": 13,
                      "column": 46
                    }
                  }
                },
                "right": {
                  "type": "Literal",
                  "value": "[object NodeList]",
                  "raw": "'[object NodeList]'",
                  "range": [
                    642,
                    661
                  ],
                  "loc": {
                    "start": {
                      "line": 13,
                      "column": 51
                    },
                    "end": {
                      "line": 13,
                      "column": 70
                    }
                  }
                },
                "range": [
                  617,
                  661
                ],
                "loc": {
                  "start": {
                    "line": 13,
                    "column": 26
                  },
                  "end": {
                    "line": 13,
                    "column": 70
                  }
                }
              },
              "range": [
                602,
                661
              ],
              "loc": {
                "start": {
                  "line": 13,
                  "column": 11
                },
                "end": {
                  "line": 13,
                  "column": 70
                }
              }
            },
            "range": [
              595,
              662
            ],
            "loc": {
              "start": {
                "line": 13,
                "column": 4
              },
              "end": {
                "line": 13,
                "column": 71
              }
            }
          }
        ],
        "range": [
          589,
          664
        ],
        "loc": {
          "start": {
            "line": 12,
            "column": 31
          },
          "end": {
            "line": 14,
            "column": 1
          }
        }
      },
      "generator": false,
      "expression": false,
      "range": [
        558,
        664
      ],
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 14,
          "column": 1
        }
      }
    },
    {
      "type": "FunctionDeclaration",
      "id": {
        "type": "Identifier",
        "name": "isHTMLCollection",
        "range": [
          674,
          690
        ],
        "loc": {
          "start": {
            "line": 15,
            "column": 9
          },
          "end": {
            "line": 15,
            "column": 25
          }
        }
      },
      "params": [
        {
          "type": "Identifier",
          "name": "sourceObj",
          "range": [
            691,
            700
          ],
          "loc": {
            "start": {
              "line": 15,
              "column": 26
            },
            "end": {
              "line": 15,
              "column": 35
            }
          }
        }
      ],
      "body": {
        "type": "BlockStatement",
        "body": [
          {
            "type": "ReturnStatement",
            "argument": {
              "type": "LogicalExpression",
              "operator": "&&",
              "left": {
                "type": "UnaryExpression",
                "operator": "!",
                "argument": {
                  "type": "UnaryExpression",
                  "operator": "!",
                  "argument": {
                    "type": "Identifier",
                    "name": "sourceObj",
                    "range": [
                      717,
                      726
                    ],
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 13
                      },
                      "end": {
                        "line": 16,
                        "column": 22
                      }
                    }
                  },
                  "prefix": true,
                  "range": [
                    716,
                    726
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 12
                    },
                    "end": {
                      "line": 16,
                      "column": 22
                    }
                  }
                },
                "prefix": true,
                "range": [
                  715,
                  726
                ],
                "loc": {
                  "start": {
                    "line": 16,
                    "column": 11
                  },
                  "end": {
                    "line": 16,
                    "column": 22
                  }
                }
              },
              "right": {
                "type": "BinaryExpression",
                "operator": "===",
                "left": {
                  "type": "CallExpression",
                  "callee": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "Identifier",
                      "name": "sourceObj",
                      "range": [
                        730,
                        739
                      ],
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 26
                        },
                        "end": {
                          "line": 16,
                          "column": 35
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "toString",
                      "range": [
                        740,
                        748
                      ],
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 36
                        },
                        "end": {
                          "line": 16,
                          "column": 44
                        }
                      }
                    },
                    "range": [
                      730,
                      748
                    ],
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 26
                      },
                      "end": {
                        "line": 16,
                        "column": 44
                      }
                    }
                  },
                  "arguments": [],
                  "range": [
                    730,
                    750
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 26
                    },
                    "end": {
                      "line": 16,
                      "column": 46
                    }
                  }
                },
                "right": {
                  "type": "Literal",
                  "value": "[object HTMLCollection]",
                  "raw": "'[object HTMLCollection]'",
                  "range": [
                    755,
                    780
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 51
                    },
                    "end": {
                      "line": 16,
                      "column": 76
                    }
                  }
                },
                "range": [
                  730,
                  780
                ],
                "loc": {
                  "start": {
                    "line": 16,
                    "column": 26
                  },
                  "end": {
                    "line": 16,
                    "column": 76
                  }
                }
              },
              "range": [
                715,
                780
              ],
              "loc": {
                "start": {
                  "line": 16,
                  "column": 11
                },
                "end": {
                  "line": 16,
                  "column": 76
                }
              }
            },
            "range": [
              708,
              781
            ],
            "loc": {
              "start": {
                "line": 16,
                "column": 4
              },
              "end": {
                "line": 16,
                "column": 77
              }
            }
          }
        ],
        "range": [
          702,
          783
        ],
        "loc": {
          "start": {
            "line": 15,
            "column": 37
          },
          "end": {
            "line": 17,
            "column": 1
          }
        }
      },
      "generator": false,
      "expression": false,
      "range": [
        665,
        783
      ],
      "loc": {
        "start": {
          "line": 15,
          "column": 0
        },
        "end": {
          "line": 17,
          "column": 1
        }
      }
    },
    {
      "type": "FunctionDeclaration",
      "id": {
        "type": "Identifier",
        "name": "isEventTarget",
        "range": [
          793,
          806
        ],
        "loc": {
          "start": {
            "line": 18,
            "column": 9
          },
          "end": {
            "line": 18,
            "column": 22
          }
        }
      },
      "params": [
        {
          "type": "Identifier",
          "name": "sourceObj",
          "range": [
            807,
            816
          ],
          "loc": {
            "start": {
              "line": 18,
              "column": 23
            },
            "end": {
              "line": 18,
              "column": 32
            }
          }
        }
      ],
      "body": {
        "type": "BlockStatement",
        "body": [
          {
            "type": "ReturnStatement",
            "argument": {
              "type": "LogicalExpression",
              "operator": "&&",
              "left": {
                "type": "LogicalExpression",
                "operator": "&&",
                "left": {
                  "type": "UnaryExpression",
                  "operator": "!",
                  "argument": {
                    "type": "UnaryExpression",
                    "operator": "!",
                    "argument": {
                      "type": "Identifier",
                      "name": "sourceObj",
                      "range": [
                        833,
                        842
                      ],
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 13
                        },
                        "end": {
                          "line": 19,
                          "column": 22
                        }
                      }
                    },
                    "prefix": true,
                    "range": [
                      832,
                      842
                    ],
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 12
                      },
                      "end": {
                        "line": 19,
                        "column": 22
                      }
                    }
                  },
                  "prefix": true,
                  "range": [
                    831,
                    842
                  ],
                  "loc": {
                    "start": {
                      "line": 19,
                      "column": 11
                    },
                    "end": {
                      "line": 19,
                      "column": 22
                    }
                  }
                },
                "right": {
                  "type": "BinaryExpression",
                  "operator": "===",
                  "left": {
                    "type": "UnaryExpression",
                    "operator": "typeof",
                    "argument": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "sourceObj",
                        "range": [
                          853,
                          862
                        ],
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 33
                          },
                          "end": {
                            "line": 19,
                            "column": 42
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "addEventListener",
                        "range": [
                          863,
                          879
                        ],
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 43
                          },
                          "end": {
                            "line": 19,
                            "column": 59
                          }
                        }
                      },
                      "range": [
                        853,
                        879
                      ],
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 33
                        },
                        "end": {
                          "line": 19,
                          "column": 59
                        }
                      }
                    },
                    "prefix": true,
                    "range": [
                      846,
                      879
                    ],
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 26
                      },
                      "end": {
                        "line": 19,
                        "column": 59
                      }
                    }
                  },
                  "right": {
                    "type": "Literal",
                    "value": "function",
                    "raw": "'function'",
                    "range": [
                      884,
                      894
                    ],
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 64
                      },
                      "end": {
                        "line": 19,
                        "column": 74
                      }
                    }
                  },
                  "range": [
                    846,
                    894
                  ],
                  "loc": {
                    "start": {
                      "line": 19,
                      "column": 26
                    },
                    "end": {
                      "line": 19,
                      "column": 74
                    }
                  }
                },
                "range": [
                  831,
                  894
                ],
                "loc": {
                  "start": {
                    "line": 19,
                    "column": 11
                  },
                  "end": {
                    "line": 19,
                    "column": 74
                  }
                }
              },
              "right": {
                "type": "BinaryExpression",
                "operator": "===",
                "left": {
                  "type": "UnaryExpression",
                  "operator": "typeof",
                  "argument": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "Identifier",
                      "name": "sourceObj",
                      "range": [
                        905,
                        914
                      ],
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 85
                        },
                        "end": {
                          "line": 19,
                          "column": 94
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "removeEventListener",
                      "range": [
                        915,
                        934
                      ],
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 95
                        },
                        "end": {
                          "line": 19,
                          "column": 114
                        }
                      }
                    },
                    "range": [
                      905,
                      934
                    ],
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 85
                      },
                      "end": {
                        "line": 19,
                        "column": 114
                      }
                    }
                  },
                  "prefix": true,
                  "range": [
                    898,
                    934
                  ],
                  "loc": {
                    "start": {
                      "line": 19,
                      "column": 78
                    },
                    "end": {
                      "line": 19,
                      "column": 114
                    }
                  }
                },
                "right": {
                  "type": "Literal",
                  "value": "function",
                  "raw": "'function'",
                  "range": [
                    939,
                    949
                  ],
                  "loc": {
                    "start": {
                      "line": 19,
                      "column": 119
                    },
                    "end": {
                      "line": 19,
                      "column": 129
                    }
                  }
                },
                "range": [
                  898,
                  949
                ],
                "loc": {
                  "start": {
                    "line": 19,
                    "column": 78
                  },
                  "end": {
                    "line": 19,
                    "column": 129
                  }
                }
              },
              "range": [
                831,
                949
              ],
              "loc": {
                "start": {
                  "line": 19,
                  "column": 11
                },
                "end": {
                  "line": 19,
                  "column": 129
                }
              }
            },
            "range": [
              824,
              950
            ],
            "loc": {
              "start": {
                "line": 19,
                "column": 4
              },
              "end": {
                "line": 19,
                "column": 130
              }
            }
          }
        ],
        "range": [
          818,
          952
        ],
        "loc": {
          "start": {
            "line": 18,
            "column": 34
          },
          "end": {
            "line": 20,
            "column": 1
          }
        }
      },
      "generator": false,
      "expression": false,
      "range": [
        784,
        952
      ],
      "loc": {
        "start": {
          "line": 18,
          "column": 0
        },
        "end": {
          "line": 20,
          "column": 1
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n ",
          "range": [
            953,
            1047
          ],
          "loc": {
            "start": {
              "line": 21,
              "column": 0
            },
            "end": {
              "line": 25,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "FromEventObservable",
              "range": [
                1059,
                1078
              ],
              "loc": {
                "start": {
                  "line": 26,
                  "column": 11
                },
                "end": {
                  "line": 26,
                  "column": 30
                }
              }
            },
            "init": {
              "type": "CallExpression",
              "callee": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "_super",
                    "range": [
                      1092,
                      1098
                    ],
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 44
                      },
                      "end": {
                        "line": 26,
                        "column": 50
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "Identifier",
                          "name": "__extends",
                          "range": [
                            1106,
                            1115
                          ],
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 4
                            },
                            "end": {
                              "line": 27,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "FromEventObservable",
                            "range": [
                              1116,
                              1135
                            ],
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 14
                              },
                              "end": {
                                "line": 27,
                                "column": 33
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "_super",
                            "range": [
                              1137,
                              1143
                            ],
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 35
                              },
                              "end": {
                                "line": 27,
                                "column": 41
                              }
                            }
                          }
                        ],
                        "range": [
                          1106,
                          1144
                        ],
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 4
                          },
                          "end": {
                            "line": 27,
                            "column": 42
                          }
                        }
                      },
                      "range": [
                        1106,
                        1145
                      ],
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 4
                        },
                        "end": {
                          "line": 27,
                          "column": 43
                        }
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "id": {
                        "type": "Identifier",
                        "name": "FromEventObservable",
                        "range": [
                          1159,
                          1178
                        ],
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 13
                          },
                          "end": {
                            "line": 28,
                            "column": 32
                          }
                        }
                      },
                      "params": [
                        {
                          "type": "Identifier",
                          "name": "sourceObj",
                          "range": [
                            1179,
                            1188
                          ],
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 33
                            },
                            "end": {
                              "line": 28,
                              "column": 42
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "eventName",
                          "range": [
                            1190,
                            1199
                          ],
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 44
                            },
                            "end": {
                              "line": 28,
                              "column": 53
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "selector",
                          "range": [
                            1201,
                            1209
                          ],
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 55
                            },
                            "end": {
                              "line": 28,
                              "column": 63
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "options",
                          "range": [
                            1211,
                            1218
                          ],
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 65
                            },
                            "end": {
                              "line": 28,
                              "column": 72
                            }
                          }
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "_super",
                                  "range": [
                                    1230,
                                    1236
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 14
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "call",
                                  "range": [
                                    1237,
                                    1241
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 19
                                    }
                                  }
                                },
                                "range": [
                                  1230,
                                  1241
                                ],
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 19
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "range": [
                                    1242,
                                    1246
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 24
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1230,
                                1247
                              ],
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 8
                                },
                                "end": {
                                  "line": 29,
                                  "column": 25
                                }
                              }
                            },
                            "range": [
                              1230,
                              1248
                            ],
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 8
                              },
                              "end": {
                                "line": 29,
                                "column": 26
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    1257,
                                    1261
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 30,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 30,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "sourceObj",
                                  "range": [
                                    1262,
                                    1271
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 30,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 30,
                                      "column": 22
                                    }
                                  }
                                },
                                "range": [
                                  1257,
                                  1271
                                ],
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 22
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "sourceObj",
                                "range": [
                                  1274,
                                  1283
                                ],
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 34
                                  }
                                }
                              },
                              "range": [
                                1257,
                                1283
                              ],
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 8
                                },
                                "end": {
                                  "line": 30,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              1257,
                              1284
                            ],
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 8
                              },
                              "end": {
                                "line": 30,
                                "column": 35
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    1293,
                                    1297
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 31,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 31,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "eventName",
                                  "range": [
                                    1298,
                                    1307
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 31,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 31,
                                      "column": 22
                                    }
                                  }
                                },
                                "range": [
                                  1293,
                                  1307
                                ],
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 22
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "eventName",
                                "range": [
                                  1310,
                                  1319
                                ],
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 34
                                  }
                                }
                              },
                              "range": [
                                1293,
                                1319
                              ],
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 8
                                },
                                "end": {
                                  "line": 31,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              1293,
                              1320
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 8
                              },
                              "end": {
                                "line": 31,
                                "column": 35
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    1329,
                                    1333
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 32,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 32,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "selector",
                                  "range": [
                                    1334,
                                    1342
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 32,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 32,
                                      "column": 21
                                    }
                                  }
                                },
                                "range": [
                                  1329,
                                  1342
                                ],
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 21
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "selector",
                                "range": [
                                  1345,
                                  1353
                                ],
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 32
                                  }
                                }
                              },
                              "range": [
                                1329,
                                1353
                              ],
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 8
                                },
                                "end": {
                                  "line": 32,
                                  "column": 32
                                }
                              }
                            },
                            "range": [
                              1329,
                              1354
                            ],
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 8
                              },
                              "end": {
                                "line": 32,
                                "column": 33
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    1363,
                                    1367
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "options",
                                  "range": [
                                    1368,
                                    1375
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 20
                                    }
                                  }
                                },
                                "range": [
                                  1363,
                                  1375
                                ],
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 20
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "options",
                                "range": [
                                  1378,
                                  1385
                                ],
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 30
                                  }
                                }
                              },
                              "range": [
                                1363,
                                1385
                              ],
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 8
                                },
                                "end": {
                                  "line": 33,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              1363,
                              1386
                            ],
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 8
                              },
                              "end": {
                                "line": 33,
                                "column": 31
                              }
                            }
                          }
                        ],
                        "range": [
                          1220,
                          1392
                        ],
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 74
                          },
                          "end": {
                            "line": 34,
                            "column": 5
                          }
                        }
                      },
                      "generator": false,
                      "expression": false,
                      "range": [
                        1150,
                        1392
                      ],
                      "loc": {
                        "start": {
                          "line": 28,
                          "column": 4
                        },
                        "end": {
                          "line": 34,
                          "column": 5
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": " tslint:enable:max-line-length ",
                          "range": [
                            1397,
                            1432
                          ],
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 4
                            },
                            "end": {
                              "line": 35,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "Block",
                          "value": "*\n     * Creates an Observable that emits events of a specific type coming from the\n     * given event target.\n     *\n     * <span class=\"informal\">Creates an Observable from DOM events, or Node\n     * EventEmitter events or others.</span>\n     *\n     * <img src=\"./img/fromEvent.png\" width=\"100%\">\n     *\n     * Creates an Observable by attaching an event listener to an \"event target\",\n     * which may be an object with `addEventListener` and `removeEventListener`,\n     * a Node.js EventEmitter, a jQuery style EventEmitter, a NodeList from the\n     * DOM, or an HTMLCollection from the DOM. The event handler is attached when\n     * the output Observable is subscribed, and removed when the Subscription is\n     * unsubscribed.\n     *\n     * @example <caption>Emits clicks happening on the DOM document</caption>\n     * var clicks = Rx.Observable.fromEvent(document, 'click');\n     * clicks.subscribe(x => console.log(x));\n     *\n     * @see {@link from}\n     * @see {@link fromEventPattern}\n     *\n     * @param {EventTargetLike} target The DOMElement, event target, Node.js\n     * EventEmitter, NodeList or HTMLCollection to attach the event handler to.\n     * @param {string} eventName The event name of interest, being emitted by the\n     * `target`.\n     * @param {EventListenerOptions} [options] Options to pass through to addEventListener\n     * @param {SelectorMethodSignature<T>} [selector] An optional function to\n     * post-process results. It takes the arguments from the event handler and\n     * should return a single value.\n     * @return {Observable<T>}\n     * @static true\n     * @name fromEvent\n     * @owner Observable\n     ",
                          "range": [
                            1437,
                            3090
                          ],
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 4
                            },
                            "end": {
                              "line": 71,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "FromEventObservable",
                            "range": [
                              3095,
                              3114
                            ],
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 4
                              },
                              "end": {
                                "line": 72,
                                "column": 23
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "create",
                            "range": [
                              3115,
                              3121
                            ],
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 24
                              },
                              "end": {
                                "line": 72,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            3095,
                            3121
                          ],
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 4
                            },
                            "end": {
                              "line": 72,
                              "column": 30
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "target",
                              "range": [
                                3134,
                                3140
                              ],
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 43
                                },
                                "end": {
                                  "line": 72,
                                  "column": 49
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "eventName",
                              "range": [
                                3142,
                                3151
                              ],
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 51
                                },
                                "end": {
                                  "line": 72,
                                  "column": 60
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "options",
                              "range": [
                                3153,
                                3160
                              ],
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 62
                                },
                                "end": {
                                  "line": 72,
                                  "column": 69
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "selector",
                              "range": [
                                3162,
                                3170
                              ],
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 71
                                },
                                "end": {
                                  "line": 72,
                                  "column": 79
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "Identifier",
                                    "name": "isFunction",
                                    "range": [
                                      3186,
                                      3196
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "name": "options",
                                      "range": [
                                        3197,
                                        3204
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 30
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3186,
                                    3205
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 31
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "name": "selector",
                                          "range": [
                                            3221,
                                            3229
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "name": "options",
                                          "range": [
                                            3232,
                                            3239
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 74,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 74,
                                              "column": 30
                                            }
                                          }
                                        },
                                        "range": [
                                          3221,
                                          3239
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "range": [
                                        3221,
                                        3240
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 31
                                        }
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "name": "options",
                                          "range": [
                                            3253,
                                            3260
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 75,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 75,
                                              "column": 19
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "name": "undefined",
                                          "range": [
                                            3263,
                                            3272
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 75,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 75,
                                              "column": 31
                                            }
                                          }
                                        },
                                        "range": [
                                          3253,
                                          3272
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 75,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 75,
                                            "column": 31
                                          }
                                        }
                                      },
                                      "range": [
                                        3253,
                                        3273
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 75,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 75,
                                          "column": 32
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3207,
                                    3283
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 76,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  3182,
                                  3283
                                ],
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "NewExpression",
                                  "callee": {
                                    "type": "Identifier",
                                    "name": "FromEventObservable",
                                    "range": [
                                      3303,
                                      3322
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 77,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 77,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "name": "target",
                                      "range": [
                                        3323,
                                        3329
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 77,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 77,
                                          "column": 45
                                        }
                                      }
                                    },
                                    {
                                      "type": "Identifier",
                                      "name": "eventName",
                                      "range": [
                                        3331,
                                        3340
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 77,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 77,
                                          "column": 56
                                        }
                                      }
                                    },
                                    {
                                      "type": "Identifier",
                                      "name": "selector",
                                      "range": [
                                        3342,
                                        3350
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 77,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 77,
                                          "column": 66
                                        }
                                      }
                                    },
                                    {
                                      "type": "Identifier",
                                      "name": "options",
                                      "range": [
                                        3352,
                                        3359
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 77,
                                          "column": 68
                                        },
                                        "end": {
                                          "line": 77,
                                          "column": 75
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3299,
                                    3360
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 76
                                    }
                                  }
                                },
                                "range": [
                                  3292,
                                  3361
                                ],
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 77
                                  }
                                }
                              }
                            ],
                            "range": [
                              3172,
                              3367
                            ],
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 81
                              },
                              "end": {
                                "line": 78,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            3124,
                            3367
                          ],
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 33
                            },
                            "end": {
                              "line": 78,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          3095,
                          3367
                        ],
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 4
                          },
                          "end": {
                            "line": 78,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3095,
                        3368
                      ],
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 4
                        },
                        "end": {
                          "line": 78,
                          "column": 6
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": " tslint:enable:max-line-length ",
                          "range": [
                            1397,
                            1432
                          ],
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 4
                            },
                            "end": {
                              "line": 35,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "Block",
                          "value": "*\n     * Creates an Observable that emits events of a specific type coming from the\n     * given event target.\n     *\n     * <span class=\"informal\">Creates an Observable from DOM events, or Node\n     * EventEmitter events or others.</span>\n     *\n     * <img src=\"./img/fromEvent.png\" width=\"100%\">\n     *\n     * Creates an Observable by attaching an event listener to an \"event target\",\n     * which may be an object with `addEventListener` and `removeEventListener`,\n     * a Node.js EventEmitter, a jQuery style EventEmitter, a NodeList from the\n     * DOM, or an HTMLCollection from the DOM. The event handler is attached when\n     * the output Observable is subscribed, and removed when the Subscription is\n     * unsubscribed.\n     *\n     * @example <caption>Emits clicks happening on the DOM document</caption>\n     * var clicks = Rx.Observable.fromEvent(document, 'click');\n     * clicks.subscribe(x => console.log(x));\n     *\n     * @see {@link from}\n     * @see {@link fromEventPattern}\n     *\n     * @param {EventTargetLike} target The DOMElement, event target, Node.js\n     * EventEmitter, NodeList or HTMLCollection to attach the event handler to.\n     * @param {string} eventName The event name of interest, being emitted by the\n     * `target`.\n     * @param {EventListenerOptions} [options] Options to pass through to addEventListener\n     * @param {SelectorMethodSignature<T>} [selector] An optional function to\n     * post-process results. It takes the arguments from the event handler and\n     * should return a single value.\n     * @return {Observable<T>}\n     * @static true\n     * @name fromEvent\n     * @owner Observable\n     ",
                          "range": [
                            1437,
                            3090
                          ],
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 4
                            },
                            "end": {
                              "line": 71,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "FromEventObservable",
                            "range": [
                              3373,
                              3392
                            ],
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 4
                              },
                              "end": {
                                "line": 79,
                                "column": 23
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "setupSubscription",
                            "range": [
                              3393,
                              3410
                            ],
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 24
                              },
                              "end": {
                                "line": 79,
                                "column": 41
                              }
                            }
                          },
                          "range": [
                            3373,
                            3410
                          ],
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 4
                            },
                            "end": {
                              "line": 79,
                              "column": 41
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "sourceObj",
                              "range": [
                                3423,
                                3432
                              ],
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 54
                                },
                                "end": {
                                  "line": 79,
                                  "column": 63
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "eventName",
                              "range": [
                                3434,
                                3443
                              ],
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 65
                                },
                                "end": {
                                  "line": 79,
                                  "column": 74
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "handler",
                              "range": [
                                3445,
                                3452
                              ],
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 76
                                },
                                "end": {
                                  "line": 79,
                                  "column": 83
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "subscriber",
                              "range": [
                                3454,
                                3464
                              ],
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 85
                                },
                                "end": {
                                  "line": 79,
                                  "column": 95
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "options",
                              "range": [
                                3466,
                                3473
                              ],
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 97
                                },
                                "end": {
                                  "line": 79,
                                  "column": 104
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "unsubscribe",
                                      "range": [
                                        3489,
                                        3500
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "init": null,
                                    "range": [
                                      3489,
                                      3500
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 23
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  3485,
                                  3501
                                ],
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 24
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "LogicalExpression",
                                  "operator": "||",
                                  "left": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "isNodeList",
                                      "range": [
                                        3514,
                                        3524
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 81,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 81,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "sourceObj",
                                        "range": [
                                          3525,
                                          3534
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 81,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 81,
                                            "column": 32
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      3514,
                                      3535
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "isHTMLCollection",
                                      "range": [
                                        3539,
                                        3555
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 81,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 81,
                                          "column": 53
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "sourceObj",
                                        "range": [
                                          3556,
                                          3565
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 81,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 81,
                                            "column": 63
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      3539,
                                      3566
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 64
                                      }
                                    }
                                  },
                                  "range": [
                                    3514,
                                    3566
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 81,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 81,
                                      "column": 64
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ForStatement",
                                      "init": {
                                        "type": "VariableDeclaration",
                                        "declarations": [
                                          {
                                            "type": "VariableDeclarator",
                                            "id": {
                                              "type": "Identifier",
                                              "name": "i",
                                              "range": [
                                                3591,
                                                3592
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 82,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 82,
                                                  "column": 22
                                                }
                                              }
                                            },
                                            "init": {
                                              "type": "Literal",
                                              "value": 0,
                                              "raw": "0",
                                              "range": [
                                                3595,
                                                3596
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 82,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 82,
                                                  "column": 26
                                                }
                                              }
                                            },
                                            "range": [
                                              3591,
                                              3596
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 82,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 82,
                                                "column": 26
                                              }
                                            }
                                          },
                                          {
                                            "type": "VariableDeclarator",
                                            "id": {
                                              "type": "Identifier",
                                              "name": "len",
                                              "range": [
                                                3598,
                                                3601
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 82,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 82,
                                                  "column": 31
                                                }
                                              }
                                            },
                                            "init": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "sourceObj",
                                                "range": [
                                                  3604,
                                                  3613
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 82,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 82,
                                                    "column": 43
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "length",
                                                "range": [
                                                  3614,
                                                  3620
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 82,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 82,
                                                    "column": 50
                                                  }
                                                }
                                              },
                                              "range": [
                                                3604,
                                                3620
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 82,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 82,
                                                  "column": 50
                                                }
                                              }
                                            },
                                            "range": [
                                              3598,
                                              3620
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 82,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 82,
                                                "column": 50
                                              }
                                            }
                                          }
                                        ],
                                        "kind": "var",
                                        "range": [
                                          3587,
                                          3620
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 50
                                          }
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "operator": "<",
                                        "left": {
                                          "type": "Identifier",
                                          "name": "i",
                                          "range": [
                                            3622,
                                            3623
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 82,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 82,
                                              "column": 53
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "name": "len",
                                          "range": [
                                            3626,
                                            3629
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 82,
                                              "column": 56
                                            },
                                            "end": {
                                              "line": 82,
                                              "column": 59
                                            }
                                          }
                                        },
                                        "range": [
                                          3622,
                                          3629
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 59
                                          }
                                        }
                                      },
                                      "update": {
                                        "type": "UpdateExpression",
                                        "operator": "++",
                                        "argument": {
                                          "type": "Identifier",
                                          "name": "i",
                                          "range": [
                                            3631,
                                            3632
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 82,
                                              "column": 61
                                            },
                                            "end": {
                                              "line": 82,
                                              "column": 62
                                            }
                                          }
                                        },
                                        "prefix": false,
                                        "range": [
                                          3631,
                                          3634
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 64
                                          }
                                        }
                                      },
                                      "body": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "FromEventObservable",
                                                  "range": [
                                                    3654,
                                                    3673
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 35
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "setupSubscription",
                                                  "range": [
                                                    3674,
                                                    3691
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 36
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 53
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3654,
                                                  3691
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 83,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 83,
                                                    "column": 53
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "sourceObj",
                                                    "range": [
                                                      3692,
                                                      3701
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 54
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 63
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "i",
                                                    "range": [
                                                      3702,
                                                      3703
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 64
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 65
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    3692,
                                                    3704
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 54
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 66
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "name": "eventName",
                                                  "range": [
                                                    3706,
                                                    3715
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 68
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 77
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "name": "handler",
                                                  "range": [
                                                    3717,
                                                    3724
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 79
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 86
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "name": "subscriber",
                                                  "range": [
                                                    3726,
                                                    3736
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 88
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 98
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "name": "options",
                                                  "range": [
                                                    3738,
                                                    3745
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 100
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 107
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                3654,
                                                3746
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 83,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 83,
                                                  "column": 108
                                                }
                                              }
                                            },
                                            "range": [
                                              3654,
                                              3747
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 83,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 83,
                                                "column": 109
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          3636,
                                          3761
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 66
                                          },
                                          "end": {
                                            "line": 84,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "range": [
                                        3582,
                                        3761
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 82,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 13
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3568,
                                    3771
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 81,
                                      "column": 66
                                    },
                                    "end": {
                                      "line": 85,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "isEventTarget",
                                      "range": [
                                        3789,
                                        3802
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "sourceObj",
                                        "range": [
                                          3803,
                                          3812
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 86,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 86,
                                            "column": 40
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      3789,
                                      3813
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 41
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "VariableDeclaration",
                                        "declarations": [
                                          {
                                            "type": "VariableDeclarator",
                                            "id": {
                                              "type": "Identifier",
                                              "name": "source_1",
                                              "range": [
                                                3833,
                                                3841
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 87,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 87,
                                                  "column": 24
                                                }
                                              }
                                            },
                                            "init": {
                                              "type": "Identifier",
                                              "name": "sourceObj",
                                              "range": [
                                                3844,
                                                3853
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 87,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 87,
                                                  "column": 36
                                                }
                                              }
                                            },
                                            "range": [
                                              3833,
                                              3853
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 87,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 87,
                                                "column": 36
                                              }
                                            }
                                          }
                                        ],
                                        "kind": "var",
                                        "range": [
                                          3829,
                                          3854
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 87,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 87,
                                            "column": 37
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "sourceObj",
                                              "range": [
                                                3867,
                                                3876
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 88,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 88,
                                                  "column": 21
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "addEventListener",
                                              "range": [
                                                3877,
                                                3893
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 88,
                                                  "column": 22
                                                },
                                                "end": {
                                                  "line": 88,
                                                  "column": 38
                                                }
                                              }
                                            },
                                            "range": [
                                              3867,
                                              3893
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 88,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 88,
                                                "column": 38
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "name": "eventName",
                                              "range": [
                                                3894,
                                                3903
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 88,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 88,
                                                  "column": 48
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "handler",
                                              "range": [
                                                3905,
                                                3912
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 88,
                                                  "column": 50
                                                },
                                                "end": {
                                                  "line": 88,
                                                  "column": 57
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "options",
                                              "range": [
                                                3914,
                                                3921
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 88,
                                                  "column": 59
                                                },
                                                "end": {
                                                  "line": 88,
                                                  "column": 66
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            3867,
                                            3922
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 67
                                            }
                                          }
                                        },
                                        "range": [
                                          3867,
                                          3923
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 88,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 88,
                                            "column": 68
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "name": "unsubscribe",
                                            "range": [
                                              3936,
                                              3947
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 23
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "FunctionExpression",
                                            "id": null,
                                            "params": [],
                                            "body": {
                                              "type": "BlockStatement",
                                              "body": [
                                                {
                                                  "type": "ReturnStatement",
                                                  "argument": {
                                                    "type": "CallExpression",
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "source_1",
                                                        "range": [
                                                          3971,
                                                          3979
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 89,
                                                            "column": 47
                                                          },
                                                          "end": {
                                                            "line": 89,
                                                            "column": 55
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "removeEventListener",
                                                        "range": [
                                                          3980,
                                                          3999
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 89,
                                                            "column": 56
                                                          },
                                                          "end": {
                                                            "line": 89,
                                                            "column": 75
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        3971,
                                                        3999
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 89,
                                                          "column": 47
                                                        },
                                                        "end": {
                                                          "line": 89,
                                                          "column": 75
                                                        }
                                                      }
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "Identifier",
                                                        "name": "eventName",
                                                        "range": [
                                                          4000,
                                                          4009
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 89,
                                                            "column": 76
                                                          },
                                                          "end": {
                                                            "line": 89,
                                                            "column": 85
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "Identifier",
                                                        "name": "handler",
                                                        "range": [
                                                          4011,
                                                          4018
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 89,
                                                            "column": 87
                                                          },
                                                          "end": {
                                                            "line": 89,
                                                            "column": 94
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      3971,
                                                      4019
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 89,
                                                        "column": 47
                                                      },
                                                      "end": {
                                                        "line": 89,
                                                        "column": 95
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    3964,
                                                    4020
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 89,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 89,
                                                      "column": 96
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                3962,
                                                4022
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 89,
                                                  "column": 38
                                                },
                                                "end": {
                                                  "line": 89,
                                                  "column": 98
                                                }
                                              }
                                            },
                                            "generator": false,
                                            "expression": false,
                                            "range": [
                                              3950,
                                              4022
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 98
                                              }
                                            }
                                          },
                                          "range": [
                                            3936,
                                            4022
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 98
                                            }
                                          }
                                        },
                                        "range": [
                                          3936,
                                          4023
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 89,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 89,
                                            "column": 99
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      3815,
                                      4033
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "alternate": {
                                    "type": "IfStatement",
                                    "test": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "Identifier",
                                        "name": "isJQueryStyleEventEmitter",
                                        "range": [
                                          4051,
                                          4076
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 91,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 91,
                                            "column": 42
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "sourceObj",
                                          "range": [
                                            4077,
                                            4086
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 91,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 91,
                                              "column": 52
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4051,
                                        4087
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 53
                                        }
                                      }
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "VariableDeclaration",
                                          "declarations": [
                                            {
                                              "type": "VariableDeclarator",
                                              "id": {
                                                "type": "Identifier",
                                                "name": "source_2",
                                                "range": [
                                                  4107,
                                                  4115
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 24
                                                  }
                                                }
                                              },
                                              "init": {
                                                "type": "Identifier",
                                                "name": "sourceObj",
                                                "range": [
                                                  4118,
                                                  4127
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 92,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 36
                                                  }
                                                }
                                              },
                                              "range": [
                                                4107,
                                                4127
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 92,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 36
                                                }
                                              }
                                            }
                                          ],
                                          "kind": "var",
                                          "range": [
                                            4103,
                                            4128
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 37
                                            }
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "sourceObj",
                                                "range": [
                                                  4141,
                                                  4150
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 21
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "on",
                                                "range": [
                                                  4151,
                                                  4153
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 22
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 24
                                                  }
                                                }
                                              },
                                              "range": [
                                                4141,
                                                4153
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 93,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 93,
                                                  "column": 24
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "name": "eventName",
                                                "range": [
                                                  4154,
                                                  4163
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 34
                                                  }
                                                }
                                              },
                                              {
                                                "type": "Identifier",
                                                "name": "handler",
                                                "range": [
                                                  4165,
                                                  4172
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 93,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 93,
                                                    "column": 43
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              4141,
                                              4173
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 93,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 93,
                                                "column": 44
                                              }
                                            }
                                          },
                                          "range": [
                                            4141,
                                            4174
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 93,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 93,
                                              "column": 45
                                            }
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "operator": "=",
                                            "left": {
                                              "type": "Identifier",
                                              "name": "unsubscribe",
                                              "range": [
                                                4187,
                                                4198
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 94,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 94,
                                                  "column": 23
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "FunctionExpression",
                                              "id": null,
                                              "params": [],
                                              "body": {
                                                "type": "BlockStatement",
                                                "body": [
                                                  {
                                                    "type": "ReturnStatement",
                                                    "argument": {
                                                      "type": "CallExpression",
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "source_2",
                                                          "range": [
                                                            4222,
                                                            4230
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 94,
                                                              "column": 47
                                                            },
                                                            "end": {
                                                              "line": 94,
                                                              "column": 55
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "off",
                                                          "range": [
                                                            4231,
                                                            4234
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 94,
                                                              "column": 56
                                                            },
                                                            "end": {
                                                              "line": 94,
                                                              "column": 59
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          4222,
                                                          4234
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 94,
                                                            "column": 47
                                                          },
                                                          "end": {
                                                            "line": 94,
                                                            "column": 59
                                                          }
                                                        }
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "name": "eventName",
                                                          "range": [
                                                            4235,
                                                            4244
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 94,
                                                              "column": 60
                                                            },
                                                            "end": {
                                                              "line": 94,
                                                              "column": 69
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "type": "Identifier",
                                                          "name": "handler",
                                                          "range": [
                                                            4246,
                                                            4253
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 94,
                                                              "column": 71
                                                            },
                                                            "end": {
                                                              "line": 94,
                                                              "column": 78
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        4222,
                                                        4254
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 94,
                                                          "column": 47
                                                        },
                                                        "end": {
                                                          "line": 94,
                                                          "column": 79
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      4215,
                                                      4255
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 40
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 80
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  4213,
                                                  4257
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 94,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 94,
                                                    "column": 82
                                                  }
                                                }
                                              },
                                              "generator": false,
                                              "expression": false,
                                              "range": [
                                                4201,
                                                4257
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 94,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 94,
                                                  "column": 82
                                                }
                                              }
                                            },
                                            "range": [
                                              4187,
                                              4257
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 94,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 94,
                                                "column": 82
                                              }
                                            }
                                          },
                                          "range": [
                                            4187,
                                            4258
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 94,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 94,
                                              "column": 83
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4089,
                                        4268
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "alternate": {
                                      "type": "IfStatement",
                                      "test": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "Identifier",
                                          "name": "isNodeStyleEventEmmitter",
                                          "range": [
                                            4286,
                                            4310
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 96,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 96,
                                              "column": 41
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "sourceObj",
                                            "range": [
                                              4311,
                                              4320
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 96,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 96,
                                                "column": 51
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          4286,
                                          4321
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 96,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 96,
                                            "column": 52
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "VariableDeclaration",
                                            "declarations": [
                                              {
                                                "type": "VariableDeclarator",
                                                "id": {
                                                  "type": "Identifier",
                                                  "name": "source_3",
                                                  "range": [
                                                    4341,
                                                    4349
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 97,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 97,
                                                      "column": 24
                                                    }
                                                  }
                                                },
                                                "init": {
                                                  "type": "Identifier",
                                                  "name": "sourceObj",
                                                  "range": [
                                                    4352,
                                                    4361
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 97,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 97,
                                                      "column": 36
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4341,
                                                  4361
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 97,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 97,
                                                    "column": 36
                                                  }
                                                }
                                              }
                                            ],
                                            "kind": "var",
                                            "range": [
                                              4337,
                                              4362
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 97,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 97,
                                                "column": 37
                                              }
                                            }
                                          },
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "sourceObj",
                                                  "range": [
                                                    4375,
                                                    4384
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 98,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 98,
                                                      "column": 21
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "addListener",
                                                  "range": [
                                                    4385,
                                                    4396
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 98,
                                                      "column": 22
                                                    },
                                                    "end": {
                                                      "line": 98,
                                                      "column": 33
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4375,
                                                  4396
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 98,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 98,
                                                    "column": 33
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "eventName",
                                                  "range": [
                                                    4397,
                                                    4406
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 98,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 98,
                                                      "column": 43
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "name": "handler",
                                                  "range": [
                                                    4408,
                                                    4415
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 98,
                                                      "column": 45
                                                    },
                                                    "end": {
                                                      "line": 98,
                                                      "column": 52
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                4375,
                                                4416
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 98,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 98,
                                                  "column": 53
                                                }
                                              }
                                            },
                                            "range": [
                                              4375,
                                              4417
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 98,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 98,
                                                "column": 54
                                              }
                                            }
                                          },
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "operator": "=",
                                              "left": {
                                                "type": "Identifier",
                                                "name": "unsubscribe",
                                                "range": [
                                                  4430,
                                                  4441
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 23
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "FunctionExpression",
                                                "id": null,
                                                "params": [],
                                                "body": {
                                                  "type": "BlockStatement",
                                                  "body": [
                                                    {
                                                      "type": "ReturnStatement",
                                                      "argument": {
                                                        "type": "CallExpression",
                                                        "callee": {
                                                          "type": "MemberExpression",
                                                          "computed": false,
                                                          "object": {
                                                            "type": "Identifier",
                                                            "name": "source_3",
                                                            "range": [
                                                              4465,
                                                              4473
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 99,
                                                                "column": 47
                                                              },
                                                              "end": {
                                                                "line": 99,
                                                                "column": 55
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "name": "removeListener",
                                                            "range": [
                                                              4474,
                                                              4488
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 99,
                                                                "column": 56
                                                              },
                                                              "end": {
                                                                "line": 99,
                                                                "column": 70
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            4465,
                                                            4488
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 99,
                                                              "column": 47
                                                            },
                                                            "end": {
                                                              "line": 99,
                                                              "column": 70
                                                            }
                                                          }
                                                        },
                                                        "arguments": [
                                                          {
                                                            "type": "Identifier",
                                                            "name": "eventName",
                                                            "range": [
                                                              4489,
                                                              4498
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 99,
                                                                "column": 71
                                                              },
                                                              "end": {
                                                                "line": 99,
                                                                "column": 80
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "type": "Identifier",
                                                            "name": "handler",
                                                            "range": [
                                                              4500,
                                                              4507
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 99,
                                                                "column": 82
                                                              },
                                                              "end": {
                                                                "line": 99,
                                                                "column": 89
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "range": [
                                                          4465,
                                                          4508
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 99,
                                                            "column": 47
                                                          },
                                                          "end": {
                                                            "line": 99,
                                                            "column": 90
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        4458,
                                                        4509
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 99,
                                                          "column": 40
                                                        },
                                                        "end": {
                                                          "line": 99,
                                                          "column": 91
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    4456,
                                                    4511
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 99,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 99,
                                                      "column": 93
                                                    }
                                                  }
                                                },
                                                "generator": false,
                                                "expression": false,
                                                "range": [
                                                  4444,
                                                  4511
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 93
                                                  }
                                                }
                                              },
                                              "range": [
                                                4430,
                                                4511
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 99,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 99,
                                                  "column": 93
                                                }
                                              }
                                            },
                                            "range": [
                                              4430,
                                              4512
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 99,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 99,
                                                "column": 94
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          4323,
                                          4522
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 96,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 100,
                                            "column": 9
                                          }
                                        }
                                      },
                                      "alternate": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ThrowStatement",
                                            "argument": {
                                              "type": "NewExpression",
                                              "callee": {
                                                "type": "Identifier",
                                                "name": "TypeError",
                                                "range": [
                                                  4560,
                                                  4569
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 102,
                                                    "column": 22
                                                  },
                                                  "end": {
                                                    "line": 102,
                                                    "column": 31
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Literal",
                                                  "value": "Invalid event target",
                                                  "raw": "'Invalid event target'",
                                                  "range": [
                                                    4570,
                                                    4592
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 102,
                                                      "column": 32
                                                    },
                                                    "end": {
                                                      "line": 102,
                                                      "column": 54
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                4556,
                                                4593
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 102,
                                                  "column": 18
                                                },
                                                "end": {
                                                  "line": 102,
                                                  "column": 55
                                                }
                                              }
                                            },
                                            "range": [
                                              4550,
                                              4594
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 102,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 102,
                                                "column": 56
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          4536,
                                          4604
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 101,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 9
                                          }
                                        }
                                      },
                                      "range": [
                                        4282,
                                        4604
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 96,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "range": [
                                      4047,
                                      4604
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "range": [
                                    3785,
                                    4604
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 86,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  3510,
                                  4604
                                ],
                                "loc": {
                                  "start": {
                                    "line": 81,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "subscriber",
                                      "range": [
                                        4613,
                                        4623
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 18
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "add",
                                      "range": [
                                        4624,
                                        4627
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "range": [
                                      4613,
                                      4627
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "NewExpression",
                                      "callee": {
                                        "type": "Identifier",
                                        "name": "Subscription",
                                        "range": [
                                          4632,
                                          4644
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 104,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 104,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "unsubscribe",
                                          "range": [
                                            4645,
                                            4656
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 104,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 104,
                                              "column": 51
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4628,
                                        4657
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 52
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    4613,
                                    4658
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 53
                                    }
                                  }
                                },
                                "range": [
                                  4613,
                                  4659
                                ],
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 54
                                  }
                                }
                              }
                            ],
                            "range": [
                              3475,
                              4665
                            ],
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 106
                              },
                              "end": {
                                "line": 105,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            3413,
                            4665
                          ],
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 44
                            },
                            "end": {
                              "line": 105,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          3373,
                          4665
                        ],
                        "loc": {
                          "start": {
                            "line": 79,
                            "column": 4
                          },
                          "end": {
                            "line": 105,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3373,
                        4666
                      ],
                      "loc": {
                        "start": {
                          "line": 79,
                          "column": 4
                        },
                        "end": {
                          "line": 105,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "FromEventObservable",
                              "range": [
                                4671,
                                4690
                              ],
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 4
                                },
                                "end": {
                                  "line": 106,
                                  "column": 23
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                4691,
                                4700
                              ],
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 24
                                },
                                "end": {
                                  "line": 106,
                                  "column": 33
                                }
                              }
                            },
                            "range": [
                              4671,
                              4700
                            ],
                            "loc": {
                              "start": {
                                "line": 106,
                                "column": 4
                              },
                              "end": {
                                "line": 106,
                                "column": 33
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_subscribe",
                            "range": [
                              4701,
                              4711
                            ],
                            "loc": {
                              "start": {
                                "line": 106,
                                "column": 34
                              },
                              "end": {
                                "line": 106,
                                "column": 44
                              }
                            }
                          },
                          "range": [
                            4671,
                            4711
                          ],
                          "loc": {
                            "start": {
                              "line": 106,
                              "column": 4
                            },
                            "end": {
                              "line": 106,
                              "column": 44
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "subscriber",
                              "range": [
                                4724,
                                4734
                              ],
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 57
                                },
                                "end": {
                                  "line": 106,
                                  "column": 67
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "sourceObj",
                                      "range": [
                                        4750,
                                        4759
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          4762,
                                          4766
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 107,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 107,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "sourceObj",
                                        "range": [
                                          4767,
                                          4776
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 107,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 107,
                                            "column": 38
                                          }
                                        }
                                      },
                                      "range": [
                                        4762,
                                        4776
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "range": [
                                      4750,
                                      4776
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 38
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  4746,
                                  4777
                                ],
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 39
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "eventName",
                                      "range": [
                                        4790,
                                        4799
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          4802,
                                          4806
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 108,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 108,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "eventName",
                                        "range": [
                                          4807,
                                          4816
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 108,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 108,
                                            "column": 38
                                          }
                                        }
                                      },
                                      "range": [
                                        4802,
                                        4816
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "range": [
                                      4790,
                                      4816
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 38
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  4786,
                                  4817
                                ],
                                "loc": {
                                  "start": {
                                    "line": 108,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 108,
                                    "column": 39
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "options",
                                      "range": [
                                        4830,
                                        4837
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 109,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 109,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          4840,
                                          4844
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 109,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 109,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "options",
                                        "range": [
                                          4845,
                                          4852
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 109,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 109,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "range": [
                                        4840,
                                        4852
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 109,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 109,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      4830,
                                      4852
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 34
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  4826,
                                  4853
                                ],
                                "loc": {
                                  "start": {
                                    "line": 109,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 109,
                                    "column": 35
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "selector",
                                      "range": [
                                        4866,
                                        4874
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          4877,
                                          4881
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 110,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 110,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "selector",
                                        "range": [
                                          4882,
                                          4890
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 110,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 110,
                                            "column": 36
                                          }
                                        }
                                      },
                                      "range": [
                                        4877,
                                        4890
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "range": [
                                      4866,
                                      4890
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 110,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 110,
                                        "column": 36
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  4862,
                                  4891
                                ],
                                "loc": {
                                  "start": {
                                    "line": 110,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 110,
                                    "column": 37
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "handler",
                                      "range": [
                                        4904,
                                        4911
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "ConditionalExpression",
                                      "test": {
                                        "type": "Identifier",
                                        "name": "selector",
                                        "range": [
                                          4914,
                                          4922
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "consequent": {
                                        "type": "FunctionExpression",
                                        "id": null,
                                        "params": [],
                                        "body": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "VariableDeclaration",
                                              "declarations": [
                                                {
                                                  "type": "VariableDeclarator",
                                                  "id": {
                                                    "type": "Identifier",
                                                    "name": "args",
                                                    "range": [
                                                      4955,
                                                      4959
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 112,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 112,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "init": {
                                                    "type": "ArrayExpression",
                                                    "elements": [],
                                                    "range": [
                                                      4962,
                                                      4964
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 112,
                                                        "column": 23
                                                      },
                                                      "end": {
                                                        "line": 112,
                                                        "column": 25
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    4955,
                                                    4964
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 112,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 112,
                                                      "column": 25
                                                    }
                                                  }
                                                }
                                              ],
                                              "kind": "var",
                                              "range": [
                                                4951,
                                                4965
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 112,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 112,
                                                  "column": 26
                                                }
                                              }
                                            },
                                            {
                                              "type": "ForStatement",
                                              "init": {
                                                "type": "VariableDeclaration",
                                                "declarations": [
                                                  {
                                                    "type": "VariableDeclarator",
                                                    "id": {
                                                      "type": "Identifier",
                                                      "name": "_i",
                                                      "range": [
                                                        4987,
                                                        4989
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 113,
                                                          "column": 21
                                                        },
                                                        "end": {
                                                          "line": 113,
                                                          "column": 23
                                                        }
                                                      }
                                                    },
                                                    "init": {
                                                      "type": "Literal",
                                                      "value": 0,
                                                      "raw": "0",
                                                      "range": [
                                                        4992,
                                                        4993
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 113,
                                                          "column": 26
                                                        },
                                                        "end": {
                                                          "line": 113,
                                                          "column": 27
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      4987,
                                                      4993
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 113,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 113,
                                                        "column": 27
                                                      }
                                                    }
                                                  }
                                                ],
                                                "kind": "var",
                                                "range": [
                                                  4983,
                                                  4993
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 113,
                                                    "column": 17
                                                  },
                                                  "end": {
                                                    "line": 113,
                                                    "column": 27
                                                  }
                                                }
                                              },
                                              "test": {
                                                "type": "BinaryExpression",
                                                "operator": "<",
                                                "left": {
                                                  "type": "Identifier",
                                                  "name": "_i",
                                                  "range": [
                                                    4995,
                                                    4997
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 113,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 113,
                                                      "column": 31
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "arguments",
                                                    "range": [
                                                      5000,
                                                      5009
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 113,
                                                        "column": 34
                                                      },
                                                      "end": {
                                                        "line": 113,
                                                        "column": 43
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "length",
                                                    "range": [
                                                      5010,
                                                      5016
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 113,
                                                        "column": 44
                                                      },
                                                      "end": {
                                                        "line": 113,
                                                        "column": 50
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    5000,
                                                    5016
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 113,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 113,
                                                      "column": 50
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4995,
                                                  5016
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 113,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 113,
                                                    "column": 50
                                                  }
                                                }
                                              },
                                              "update": {
                                                "type": "UpdateExpression",
                                                "operator": "++",
                                                "argument": {
                                                  "type": "Identifier",
                                                  "name": "_i",
                                                  "range": [
                                                    5018,
                                                    5020
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 113,
                                                      "column": 52
                                                    },
                                                    "end": {
                                                      "line": 113,
                                                      "column": 54
                                                    }
                                                  }
                                                },
                                                "prefix": false,
                                                "range": [
                                                  5018,
                                                  5022
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 113,
                                                    "column": 52
                                                  },
                                                  "end": {
                                                    "line": 113,
                                                    "column": 56
                                                  }
                                                }
                                              },
                                              "body": {
                                                "type": "BlockStatement",
                                                "body": [
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "expression": {
                                                      "type": "AssignmentExpression",
                                                      "operator": "=",
                                                      "left": {
                                                        "type": "MemberExpression",
                                                        "computed": true,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "args",
                                                          "range": [
                                                            5042,
                                                            5046
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 114,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 114,
                                                              "column": 20
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "BinaryExpression",
                                                          "operator": "-",
                                                          "left": {
                                                            "type": "Identifier",
                                                            "name": "_i",
                                                            "range": [
                                                              5047,
                                                              5049
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 114,
                                                                "column": 21
                                                              },
                                                              "end": {
                                                                "line": 114,
                                                                "column": 23
                                                              }
                                                            }
                                                          },
                                                          "right": {
                                                            "type": "Literal",
                                                            "value": 0,
                                                            "raw": "0",
                                                            "range": [
                                                              5052,
                                                              5053
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 114,
                                                                "column": 26
                                                              },
                                                              "end": {
                                                                "line": 114,
                                                                "column": 27
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            5047,
                                                            5053
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 114,
                                                              "column": 21
                                                            },
                                                            "end": {
                                                              "line": 114,
                                                              "column": 27
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          5042,
                                                          5054
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 114,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 114,
                                                            "column": 28
                                                          }
                                                        }
                                                      },
                                                      "right": {
                                                        "type": "MemberExpression",
                                                        "computed": true,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "arguments",
                                                          "range": [
                                                            5057,
                                                            5066
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 114,
                                                              "column": 31
                                                            },
                                                            "end": {
                                                              "line": 114,
                                                              "column": 40
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "_i",
                                                          "range": [
                                                            5067,
                                                            5069
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 114,
                                                              "column": 41
                                                            },
                                                            "end": {
                                                              "line": 114,
                                                              "column": 43
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          5057,
                                                          5070
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 114,
                                                            "column": 31
                                                          },
                                                          "end": {
                                                            "line": 114,
                                                            "column": 44
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        5042,
                                                        5070
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 114,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 114,
                                                          "column": 44
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      5042,
                                                      5071
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 114,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 114,
                                                        "column": 45
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  5024,
                                                  5085
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 113,
                                                    "column": 58
                                                  },
                                                  "end": {
                                                    "line": 115,
                                                    "column": 13
                                                  }
                                                }
                                              },
                                              "range": [
                                                4978,
                                                5085
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 113,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 115,
                                                  "column": 13
                                                }
                                              }
                                            },
                                            {
                                              "type": "VariableDeclaration",
                                              "declarations": [
                                                {
                                                  "type": "VariableDeclarator",
                                                  "id": {
                                                    "type": "Identifier",
                                                    "name": "result",
                                                    "range": [
                                                      5102,
                                                      5108
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 116,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 116,
                                                        "column": 22
                                                      }
                                                    }
                                                  },
                                                  "init": {
                                                    "type": "CallExpression",
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "CallExpression",
                                                        "callee": {
                                                          "type": "Identifier",
                                                          "name": "tryCatch",
                                                          "range": [
                                                            5111,
                                                            5119
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 116,
                                                              "column": 25
                                                            },
                                                            "end": {
                                                              "line": 116,
                                                              "column": 33
                                                            }
                                                          }
                                                        },
                                                        "arguments": [
                                                          {
                                                            "type": "Identifier",
                                                            "name": "selector",
                                                            "range": [
                                                              5120,
                                                              5128
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 116,
                                                                "column": 34
                                                              },
                                                              "end": {
                                                                "line": 116,
                                                                "column": 42
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "range": [
                                                          5111,
                                                          5129
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 116,
                                                            "column": 25
                                                          },
                                                          "end": {
                                                            "line": 116,
                                                            "column": 43
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "apply",
                                                        "range": [
                                                          5130,
                                                          5135
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 116,
                                                            "column": 44
                                                          },
                                                          "end": {
                                                            "line": 116,
                                                            "column": 49
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        5111,
                                                        5135
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 116,
                                                          "column": 25
                                                        },
                                                        "end": {
                                                          "line": 116,
                                                          "column": 49
                                                        }
                                                      }
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "UnaryExpression",
                                                        "operator": "void",
                                                        "argument": {
                                                          "type": "Literal",
                                                          "value": 0,
                                                          "raw": "0",
                                                          "range": [
                                                            5141,
                                                            5142
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 116,
                                                              "column": 55
                                                            },
                                                            "end": {
                                                              "line": 116,
                                                              "column": 56
                                                            }
                                                          }
                                                        },
                                                        "prefix": true,
                                                        "range": [
                                                          5136,
                                                          5142
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 116,
                                                            "column": 50
                                                          },
                                                          "end": {
                                                            "line": 116,
                                                            "column": 56
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "Identifier",
                                                        "name": "args",
                                                        "range": [
                                                          5144,
                                                          5148
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 116,
                                                            "column": 58
                                                          },
                                                          "end": {
                                                            "line": 116,
                                                            "column": 62
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      5111,
                                                      5149
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 116,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 116,
                                                        "column": 63
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    5102,
                                                    5149
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 116,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 116,
                                                      "column": 63
                                                    }
                                                  }
                                                }
                                              ],
                                              "kind": "var",
                                              "range": [
                                                5098,
                                                5150
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 116,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 116,
                                                  "column": 64
                                                }
                                              }
                                            },
                                            {
                                              "type": "IfStatement",
                                              "test": {
                                                "type": "BinaryExpression",
                                                "operator": "===",
                                                "left": {
                                                  "type": "Identifier",
                                                  "name": "result",
                                                  "range": [
                                                    5167,
                                                    5173
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 22
                                                    }
                                                  }
                                                },
                                                "right": {
                                                  "type": "Identifier",
                                                  "name": "errorObject",
                                                  "range": [
                                                    5178,
                                                    5189
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 38
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  5167,
                                                  5189
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 117,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 117,
                                                    "column": 38
                                                  }
                                                }
                                              },
                                              "consequent": {
                                                "type": "BlockStatement",
                                                "body": [
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "expression": {
                                                      "type": "CallExpression",
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "subscriber",
                                                          "range": [
                                                            5209,
                                                            5219
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 118,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 118,
                                                              "column": 26
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "error",
                                                          "range": [
                                                            5220,
                                                            5225
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 118,
                                                              "column": 27
                                                            },
                                                            "end": {
                                                              "line": 118,
                                                              "column": 32
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          5209,
                                                          5225
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 118,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 118,
                                                            "column": 32
                                                          }
                                                        }
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "MemberExpression",
                                                          "computed": false,
                                                          "object": {
                                                            "type": "Identifier",
                                                            "name": "errorObject",
                                                            "range": [
                                                              5226,
                                                              5237
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 118,
                                                                "column": 33
                                                              },
                                                              "end": {
                                                                "line": 118,
                                                                "column": 44
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "name": "e",
                                                            "range": [
                                                              5238,
                                                              5239
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 118,
                                                                "column": 45
                                                              },
                                                              "end": {
                                                                "line": 118,
                                                                "column": 46
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            5226,
                                                            5239
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 118,
                                                              "column": 33
                                                            },
                                                            "end": {
                                                              "line": 118,
                                                              "column": 46
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        5209,
                                                        5240
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 118,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 118,
                                                          "column": 47
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      5209,
                                                      5241
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 118,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 118,
                                                        "column": 48
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  5191,
                                                  5255
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 117,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 119,
                                                    "column": 13
                                                  }
                                                }
                                              },
                                              "alternate": {
                                                "type": "BlockStatement",
                                                "body": [
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "expression": {
                                                      "type": "CallExpression",
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "subscriber",
                                                          "range": [
                                                            5291,
                                                            5301
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 121,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 121,
                                                              "column": 26
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "next",
                                                          "range": [
                                                            5302,
                                                            5306
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 121,
                                                              "column": 27
                                                            },
                                                            "end": {
                                                              "line": 121,
                                                              "column": 31
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          5291,
                                                          5306
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 121,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 121,
                                                            "column": 31
                                                          }
                                                        }
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "name": "result",
                                                          "range": [
                                                            5307,
                                                            5313
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 121,
                                                              "column": 32
                                                            },
                                                            "end": {
                                                              "line": 121,
                                                              "column": 38
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        5291,
                                                        5314
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 121,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 121,
                                                          "column": 39
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      5291,
                                                      5315
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 121,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 121,
                                                        "column": 40
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  5273,
                                                  5329
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 120,
                                                    "column": 17
                                                  },
                                                  "end": {
                                                    "line": 122,
                                                    "column": 13
                                                  }
                                                }
                                              },
                                              "range": [
                                                5163,
                                                5329
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 117,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 122,
                                                  "column": 13
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            4937,
                                            5339
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 123,
                                              "column": 9
                                            }
                                          }
                                        },
                                        "generator": false,
                                        "expression": false,
                                        "range": [
                                          4925,
                                          5339
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 123,
                                            "column": 9
                                          }
                                        }
                                      },
                                      "alternate": {
                                        "type": "FunctionExpression",
                                        "id": null,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "name": "e",
                                            "range": [
                                              5352,
                                              5353
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 123,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 123,
                                                "column": 23
                                              }
                                            }
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "body": [
                                            {
                                              "type": "ReturnStatement",
                                              "argument": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "subscriber",
                                                    "range": [
                                                      5364,
                                                      5374
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 123,
                                                        "column": 34
                                                      },
                                                      "end": {
                                                        "line": 123,
                                                        "column": 44
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "next",
                                                    "range": [
                                                      5375,
                                                      5379
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 123,
                                                        "column": 45
                                                      },
                                                      "end": {
                                                        "line": 123,
                                                        "column": 49
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    5364,
                                                    5379
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 123,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 123,
                                                      "column": 49
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "name": "e",
                                                    "range": [
                                                      5380,
                                                      5381
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 123,
                                                        "column": 50
                                                      },
                                                      "end": {
                                                        "line": 123,
                                                        "column": 51
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  5364,
                                                  5382
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 123,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 123,
                                                    "column": 52
                                                  }
                                                }
                                              },
                                              "range": [
                                                5357,
                                                5383
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 123,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 123,
                                                  "column": 53
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            5355,
                                            5385
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 123,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 123,
                                              "column": 55
                                            }
                                          }
                                        },
                                        "generator": false,
                                        "expression": false,
                                        "range": [
                                          5342,
                                          5385
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 123,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 123,
                                            "column": 55
                                          }
                                        }
                                      },
                                      "range": [
                                        4914,
                                        5385
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 123,
                                          "column": 55
                                        }
                                      }
                                    },
                                    "range": [
                                      4904,
                                      5385
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 123,
                                        "column": 55
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  4900,
                                  5386
                                ],
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 123,
                                    "column": 56
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "FromEventObservable",
                                      "range": [
                                        5395,
                                        5414
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "setupSubscription",
                                      "range": [
                                        5415,
                                        5432
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      5395,
                                      5432
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 124,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 124,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "name": "sourceObj",
                                      "range": [
                                        5433,
                                        5442
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 55
                                        }
                                      }
                                    },
                                    {
                                      "type": "Identifier",
                                      "name": "eventName",
                                      "range": [
                                        5444,
                                        5453
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 57
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 66
                                        }
                                      }
                                    },
                                    {
                                      "type": "Identifier",
                                      "name": "handler",
                                      "range": [
                                        5455,
                                        5462
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 68
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 75
                                        }
                                      }
                                    },
                                    {
                                      "type": "Identifier",
                                      "name": "subscriber",
                                      "range": [
                                        5464,
                                        5474
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 77
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 87
                                        }
                                      }
                                    },
                                    {
                                      "type": "Identifier",
                                      "name": "options",
                                      "range": [
                                        5476,
                                        5483
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 124,
                                          "column": 89
                                        },
                                        "end": {
                                          "line": 124,
                                          "column": 96
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    5395,
                                    5484
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 124,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 124,
                                      "column": 97
                                    }
                                  }
                                },
                                "range": [
                                  5395,
                                  5485
                                ],
                                "loc": {
                                  "start": {
                                    "line": 124,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 124,
                                    "column": 98
                                  }
                                }
                              }
                            ],
                            "range": [
                              4736,
                              5491
                            ],
                            "loc": {
                              "start": {
                                "line": 106,
                                "column": 69
                              },
                              "end": {
                                "line": 125,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            4714,
                            5491
                          ],
                          "loc": {
                            "start": {
                              "line": 106,
                              "column": 47
                            },
                            "end": {
                              "line": 125,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          4671,
                          5491
                        ],
                        "loc": {
                          "start": {
                            "line": 106,
                            "column": 4
                          },
                          "end": {
                            "line": 125,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4671,
                        5492
                      ],
                      "loc": {
                        "start": {
                          "line": 106,
                          "column": 4
                        },
                        "end": {
                          "line": 125,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "FromEventObservable",
                        "range": [
                          5504,
                          5523
                        ],
                        "loc": {
                          "start": {
                            "line": 126,
                            "column": 11
                          },
                          "end": {
                            "line": 126,
                            "column": 30
                          }
                        }
                      },
                      "range": [
                        5497,
                        5524
                      ],
                      "loc": {
                        "start": {
                          "line": 126,
                          "column": 4
                        },
                        "end": {
                          "line": 126,
                          "column": 31
                        }
                      }
                    }
                  ],
                  "range": [
                    1100,
                    5526
                  ],
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 52
                    },
                    "end": {
                      "line": 127,
                      "column": 1
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  1082,
                  5526
                ],
                "loc": {
                  "start": {
                    "line": 26,
                    "column": 34
                  },
                  "end": {
                    "line": 127,
                    "column": 1
                  }
                }
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "name": "Observable",
                  "range": [
                    5527,
                    5537
                  ],
                  "loc": {
                    "start": {
                      "line": 127,
                      "column": 2
                    },
                    "end": {
                      "line": 127,
                      "column": 12
                    }
                  }
                }
              ],
              "range": [
                1082,
                5538
              ],
              "loc": {
                "start": {
                  "line": 26,
                  "column": 34
                },
                "end": {
                  "line": 127,
                  "column": 13
                }
              }
            },
            "range": [
              1059,
              5539
            ],
            "loc": {
              "start": {
                "line": 26,
                "column": 11
              },
              "end": {
                "line": 127,
                "column": 14
              }
            }
          }
        ],
        "kind": "var",
        "range": [
          1055,
          5540
        ],
        "loc": {
          "start": {
            "line": 26,
            "column": 7
          },
          "end": {
            "line": 127,
            "column": 15
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n ",
            "range": [
              953,
              1047
            ],
            "loc": {
              "start": {
                "line": 21,
                "column": 0
              },
              "end": {
                "line": 25,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Line",
            "value": "# sourceMappingURL=FromEventObservable.js.map",
            "range": [
              5541,
              5588
            ],
            "loc": {
              "start": {
                "line": 128,
                "column": 0
              },
              "end": {
                "line": 128,
                "column": 47
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        1048,
        5540
      ],
      "loc": {
        "start": {
          "line": 26,
          "column": 0
        },
        "end": {
          "line": 127,
          "column": 15
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n ",
          "range": [
            953,
            1047
          ],
          "loc": {
            "start": {
              "line": 21,
              "column": 0
            },
            "end": {
              "line": 25,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=FromEventObservable.js.map",
          "range": [
            5541,
            5588
          ],
          "loc": {
            "start": {
              "line": 128,
              "column": 0
            },
            "end": {
              "line": 128,
              "column": 47
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    5540
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 127,
      "column": 15
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n ",
      "range": [
        953,
        1047
      ],
      "loc": {
        "start": {
          "line": 21,
          "column": 0
        },
        "end": {
          "line": 25,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": " tslint:enable:max-line-length ",
      "range": [
        1397,
        1432
      ],
      "loc": {
        "start": {
          "line": 35,
          "column": 4
        },
        "end": {
          "line": 35,
          "column": 39
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Creates an Observable that emits events of a specific type coming from the\n     * given event target.\n     *\n     * <span class=\"informal\">Creates an Observable from DOM events, or Node\n     * EventEmitter events or others.</span>\n     *\n     * <img src=\"./img/fromEvent.png\" width=\"100%\">\n     *\n     * Creates an Observable by attaching an event listener to an \"event target\",\n     * which may be an object with `addEventListener` and `removeEventListener`,\n     * a Node.js EventEmitter, a jQuery style EventEmitter, a NodeList from the\n     * DOM, or an HTMLCollection from the DOM. The event handler is attached when\n     * the output Observable is subscribed, and removed when the Subscription is\n     * unsubscribed.\n     *\n     * @example <caption>Emits clicks happening on the DOM document</caption>\n     * var clicks = Rx.Observable.fromEvent(document, 'click');\n     * clicks.subscribe(x => console.log(x));\n     *\n     * @see {@link from}\n     * @see {@link fromEventPattern}\n     *\n     * @param {EventTargetLike} target The DOMElement, event target, Node.js\n     * EventEmitter, NodeList or HTMLCollection to attach the event handler to.\n     * @param {string} eventName The event name of interest, being emitted by the\n     * `target`.\n     * @param {EventListenerOptions} [options] Options to pass through to addEventListener\n     * @param {SelectorMethodSignature<T>} [selector] An optional function to\n     * post-process results. It takes the arguments from the event handler and\n     * should return a single value.\n     * @return {Observable<T>}\n     * @static true\n     * @name fromEvent\n     * @owner Observable\n     ",
      "range": [
        1437,
        3090
      ],
      "loc": {
        "start": {
          "line": 36,
          "column": 4
        },
        "end": {
          "line": 71,
          "column": 7
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=FromEventObservable.js.map",
      "range": [
        5541,
        5588
      ],
      "loc": {
        "start": {
          "line": 128,
          "column": 0
        },
        "end": {
          "line": 128,
          "column": 47
        }
      }
    }
  ]
}