UNPKG

@videosdk.live/js-sdk

Version:

<h1 align="center"> <img src="https://static.videosdk.live/videosdk_logo_website_black.png"/><br/> <p align="center"> Video SDK for JavaScript<br/> <a href="https://videosdk.live/">videosdk.live</a> </p> </h1>

1,292 lines (1,291 loc) 2.46 MB
/*! For license information please see videosdk.js.LICENSE.txt */ !(function (e, t) { if ("object" == typeof exports && "object" == typeof module) module.exports = t(); else if ("function" == typeof define && define.amd) define([], t); else { var r = t(); for (var n in r) ("object" == typeof exports ? exports : e)[n] = r[n]; } })(self, () => (() => { var e = { 11: (e, t, r) => { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), (t.Chrome74 = void 0); const n = r(7363), s = r(2994), i = r(1765), a = r(8046), o = r(5544), c = r(5938), d = r(4256), u = r(4893), l = r(521), p = r(1305), h = r(3303), m = new s.Logger("Chrome74"), f = { OS: 1024, MIS: 1024 }; class g extends l.HandlerInterface { _closed = !1; _direction; _remoteSdp; _sendingRtpParametersByKind; _sendingRemoteRtpParametersByKind; _forcedLocalDtlsRole; _pc; _mapMidTransceiver = new Map(); _sendStream = new MediaStream(); _hasDataChannelMediaSection = !1; _nextSendSctpStreamId = 0; _transportReady = !1; static createFactory() { return () => new g(); } constructor() { super(); } get name() { return "Chrome74"; } close() { if ((m.debug("close()"), !this._closed)) { if (((this._closed = !0), this._pc)) try { this._pc.close(); } catch (e) {} this.emit("@close"); } } async getNativeRtpCapabilities() { m.debug("getNativeRtpCapabilities()"); const e = new RTCPeerConnection({ iceServers: [], iceTransportPolicy: "all", bundlePolicy: "max-bundle", rtcpMuxPolicy: "require", sdpSemantics: "unified-plan", }); try { e.addTransceiver("audio"), e.addTransceiver("video"); const t = await e.createOffer(); try { e.close(); } catch (e) {} const r = n.parse(t.sdp), s = o.extractRtpCapabilities({ sdpObject: r }); return d.addNackSupportForOpus(s), s; } catch (t) { try { e.close(); } catch (e) {} throw t; } } async getNativeSctpCapabilities() { return m.debug("getNativeSctpCapabilities()"), { numStreams: f }; } run({ direction: e, iceParameters: t, iceCandidates: r, dtlsParameters: n, sctpParameters: s, iceServers: i, iceTransportPolicy: o, additionalSettings: c, proprietaryConstraints: d, extendedRtpCapabilities: u, }) { m.debug("run()"), (this._direction = e), (this._remoteSdp = new p.RemoteSdp({ iceParameters: t, iceCandidates: r, dtlsParameters: n, sctpParameters: s, })), (this._sendingRtpParametersByKind = { audio: a.getSendingRtpParameters("audio", u), video: a.getSendingRtpParameters("video", u), }), (this._sendingRemoteRtpParametersByKind = { audio: a.getSendingRemoteRtpParameters("audio", u), video: a.getSendingRemoteRtpParameters("video", u), }), n.role && "auto" !== n.role && (this._forcedLocalDtlsRole = "server" === n.role ? "client" : "server"), (this._pc = new RTCPeerConnection( { iceServers: i ?? [], iceTransportPolicy: o ?? "all", bundlePolicy: "max-bundle", rtcpMuxPolicy: "require", sdpSemantics: "unified-plan", ...c, }, d )), this._pc.addEventListener("icegatheringstatechange", () => { this.emit( "@icegatheringstatechange", this._pc.iceGatheringState ); }), this._pc.addEventListener("icecandidateerror", (e) => { this.emit("@icecandidateerror", e); }), this._pc.connectionState ? this._pc.addEventListener("connectionstatechange", () => { this.emit( "@connectionstatechange", this._pc.connectionState ); }) : (m.warn( "run() | pc.connectionState not supported, using pc.iceConnectionState" ), this._pc.addEventListener( "iceconnectionstatechange", () => { switch (this._pc.iceConnectionState) { case "checking": this.emit("@connectionstatechange", "connecting"); break; case "connected": case "completed": this.emit("@connectionstatechange", "connected"); break; case "failed": this.emit("@connectionstatechange", "failed"); break; case "disconnected": this.emit("@connectionstatechange", "disconnected"); break; case "closed": this.emit("@connectionstatechange", "closed"); } } )); } async updateIceServers(e) { this.assertNotClosed(), m.debug("updateIceServers()"); const t = this._pc.getConfiguration(); (t.iceServers = e), this._pc.setConfiguration(t); } async restartIce(e) { if ( (this.assertNotClosed(), m.debug("restartIce()"), this._remoteSdp.updateIceParameters(e), this._transportReady) ) if ("send" === this._direction) { const e = await this._pc.createOffer({ iceRestart: !0 }); m.debug( "restartIce() | calling pc.setLocalDescription() [offer:%o]", e ), await this._pc.setLocalDescription(e); const t = { type: "answer", sdp: this._remoteSdp.getSdp() }; m.debug( "restartIce() | calling pc.setRemoteDescription() [answer:%o]", t ), await this._pc.setRemoteDescription(t); } else { const e = { type: "offer", sdp: this._remoteSdp.getSdp() }; m.debug( "restartIce() | calling pc.setRemoteDescription() [offer:%o]", e ), await this._pc.setRemoteDescription(e); const t = await this._pc.createAnswer(); m.debug( "restartIce() | calling pc.setLocalDescription() [answer:%o]", t ), await this._pc.setLocalDescription(t); } } async getTransportStats() { return this.assertNotClosed(), this._pc.getStats(); } async send({ track: e, encodings: t, codecOptions: r, codec: s }) { this.assertNotClosed(), this.assertSendDirection(), m.debug("send() [kind:%s, track.id:%s]", e.kind, e.id), t && t.length > 1 && t.forEach((e, t) => { e.rid = `r${t}`; }); const d = i.clone(this._sendingRtpParametersByKind[e.kind]); d.codecs = a.reduceCodecs(d.codecs, s); const u = i.clone(this._sendingRemoteRtpParametersByKind[e.kind]); u.codecs = a.reduceCodecs(u.codecs, s); const l = this._remoteSdp.getNextMediaSectionIdx(), p = this._pc.addTransceiver(e, { direction: "sendonly", streams: [this._sendStream], sendEncodings: t, }); let f, g = await this._pc.createOffer(), v = n.parse(g.sdp); v.extmapAllowMixed && this._remoteSdp.setSessionExtmapAllowMixed(), this._transportReady || (await this.setupTransport({ localDtlsRole: this._forcedLocalDtlsRole ?? "client", localSdpObject: v, })); let _ = !1; const y = (0, h.parse)((t ?? [{}])[0].scalabilityMode); t && 1 === t.length && y.spatialLayers > 1 && "video/vp9" === d.codecs[0].mimeType.toLowerCase() && (m.debug("send() | enabling legacy simulcast for VP9 SVC"), (_ = !0), (v = n.parse(g.sdp)), (f = v.media[l.idx]), c.addLegacySimulcast({ offerMediaObject: f, numStreams: y.spatialLayers, }), (g = { type: "offer", sdp: n.write(v) })), m.debug( "send() | calling pc.setLocalDescription() [offer:%o]", g ), await this._pc.setLocalDescription(g); const b = p.mid; if ( ((d.mid = b), (v = n.parse(this._pc.localDescription.sdp)), (f = v.media[l.idx]), (d.rtcp.cname = o.getCname({ offerMediaObject: f })), t) ) if (1 === t.length) { let e = c.getRtpEncodings({ offerMediaObject: f }); Object.assign(e[0], t[0]), _ && (e = [e[0]]), (d.encodings = e); } else d.encodings = t; else d.encodings = c.getRtpEncodings({ offerMediaObject: f }); if ( d.encodings.length > 1 && ("video/vp8" === d.codecs[0].mimeType.toLowerCase() || "video/h264" === d.codecs[0].mimeType.toLowerCase()) ) for (const e of d.encodings) e.scalabilityMode ? (e.scalabilityMode = `L1T${y.temporalLayers}`) : (e.scalabilityMode = "L1T3"); this._remoteSdp.send({ offerMediaObject: f, reuseMid: l.reuseMid, offerRtpParameters: d, answerRtpParameters: u, codecOptions: r, }); const w = { type: "answer", sdp: this._remoteSdp.getSdp() }; return ( m.debug( "send() | calling pc.setRemoteDescription() [answer:%o]", w ), await this._pc.setRemoteDescription(w), this._mapMidTransceiver.set(b, p), { localId: b, rtpParameters: d, rtpSender: p.sender } ); } async stopSending(e) { if ( (this.assertSendDirection(), m.debug("stopSending() [localId:%s]", e), this._closed) ) return; const t = this._mapMidTransceiver.get(e); if (!t) throw new Error("associated RTCRtpTransceiver not found"); t.sender.replaceTrack(null), this._pc.removeTrack(t.sender); if (this._remoteSdp.closeMediaSection(t.mid)) try { t.stop(); } catch (e) {} const r = await this._pc.createOffer(); m.debug( "stopSending() | calling pc.setLocalDescription() [offer:%o]", r ), await this._pc.setLocalDescription(r); const n = { type: "answer", sdp: this._remoteSdp.getSdp() }; m.debug( "stopSending() | calling pc.setRemoteDescription() [answer:%o]", n ), await this._pc.setRemoteDescription(n), this._mapMidTransceiver.delete(e); } async pauseSending(e) { this.assertNotClosed(), this.assertSendDirection(), m.debug("pauseSending() [localId:%s]", e); const t = this._mapMidTransceiver.get(e); if (!t) throw new Error("associated RTCRtpTransceiver not found"); (t.direction = "inactive"), this._remoteSdp.pauseMediaSection(e); const r = await this._pc.createOffer(); m.debug( "pauseSending() | calling pc.setLocalDescription() [offer:%o]", r ), await this._pc.setLocalDescription(r); const n = { type: "answer", sdp: this._remoteSdp.getSdp() }; m.debug( "pauseSending() | calling pc.setRemoteDescription() [answer:%o]", n ), await this._pc.setRemoteDescription(n); } async resumeSending(e) { this.assertNotClosed(), this.assertSendDirection(), m.debug("resumeSending() [localId:%s]", e); const t = this._mapMidTransceiver.get(e); if ((this._remoteSdp.resumeSendingMediaSection(e), !t)) throw new Error("associated RTCRtpTransceiver not found"); t.direction = "sendonly"; const r = await this._pc.createOffer(); m.debug( "resumeSending() | calling pc.setLocalDescription() [offer:%o]", r ), await this._pc.setLocalDescription(r); const n = { type: "answer", sdp: this._remoteSdp.getSdp() }; m.debug( "resumeSending() | calling pc.setRemoteDescription() [answer:%o]", n ), await this._pc.setRemoteDescription(n); } async replaceTrack(e, t) { this.assertNotClosed(), this.assertSendDirection(), t ? m.debug("replaceTrack() [localId:%s, track.id:%s]", e, t.id) : m.debug("replaceTrack() [localId:%s, no track]", e); const r = this._mapMidTransceiver.get(e); if (!r) throw new Error("associated RTCRtpTransceiver not found"); await r.sender.replaceTrack(t); } async setMaxSpatialLayer(e, t) { this.assertNotClosed(), this.assertSendDirection(), m.debug( "setMaxSpatialLayer() [localId:%s, spatialLayer:%s]", e, t ); const r = this._mapMidTransceiver.get(e); if (!r) throw new Error("associated RTCRtpTransceiver not found"); const n = r.sender.getParameters(); n.encodings.forEach((e, r) => { e.active = r <= t; }), await r.sender.setParameters(n), this._remoteSdp.muxMediaSectionSimulcast(e, n.encodings); const s = await this._pc.createOffer(); m.debug( "setMaxSpatialLayer() | calling pc.setLocalDescription() [offer:%o]", s ), await this._pc.setLocalDescription(s); const i = { type: "answer", sdp: this._remoteSdp.getSdp() }; m.debug( "setMaxSpatialLayer() | calling pc.setRemoteDescription() [answer:%o]", i ), await this._pc.setRemoteDescription(i); } async setRtpEncodingParameters(e, t) { this.assertNotClosed(), this.assertSendDirection(), m.debug( "setRtpEncodingParameters() [localId:%s, params:%o]", e, t ); const r = this._mapMidTransceiver.get(e); if (!r) throw new Error("associated RTCRtpTransceiver not found"); const n = r.sender.getParameters(); n.encodings.forEach((e, r) => { n.encodings[r] = { ...e, ...t }; }), await r.sender.setParameters(n), this._remoteSdp.muxMediaSectionSimulcast(e, n.encodings); const s = await this._pc.createOffer(); m.debug( "setRtpEncodingParameters() | calling pc.setLocalDescription() [offer:%o]", s ), await this._pc.setLocalDescription(s); const i = { type: "answer", sdp: this._remoteSdp.getSdp() }; m.debug( "setRtpEncodingParameters() | calling pc.setRemoteDescription() [answer:%o]", i ), await this._pc.setRemoteDescription(i); } async getSenderStats(e) { this.assertNotClosed(), this.assertSendDirection(); const t = this._mapMidTransceiver.get(e); if (!t) throw new Error("associated RTCRtpTransceiver not found"); return t.sender.getStats(); } async sendDataChannel({ ordered: e, maxPacketLifeTime: t, maxRetransmits: r, label: s, protocol: i, }) { this.assertNotClosed(), this.assertSendDirection(); const a = { negotiated: !0, id: this._nextSendSctpStreamId, ordered: e, maxPacketLifeTime: t, maxRetransmits: r, protocol: i, }; m.debug("sendDataChannel() [options:%o]", a); const o = this._pc.createDataChannel(s, a); if ( ((this._nextSendSctpStreamId = ++this._nextSendSctpStreamId % f.MIS), !this._hasDataChannelMediaSection) ) { const e = await this._pc.createOffer(), t = n.parse(e.sdp), r = t.media.find((e) => "application" === e.type); this._transportReady || (await this.setupTransport({ localDtlsRole: this._forcedLocalDtlsRole ?? "client", localSdpObject: t, })), m.debug( "sendDataChannel() | calling pc.setLocalDescription() [offer:%o]", e ), await this._pc.setLocalDescription(e), this._remoteSdp.sendSctpAssociation({ offerMediaObject: r }); const s = { type: "answer", sdp: this._remoteSdp.getSdp() }; m.debug( "sendDataChannel() | calling pc.setRemoteDescription() [answer:%o]", s ), await this._pc.setRemoteDescription(s), (this._hasDataChannelMediaSection = !0); } return { dataChannel: o, sctpStreamParameters: { streamId: a.id, ordered: a.ordered, maxPacketLifeTime: a.maxPacketLifeTime, maxRetransmits: a.maxRetransmits, }, }; } async receive(e) { this.assertNotClosed(), this.assertRecvDirection(); const t = [], r = new Map(); for (const t of e) { const { trackId: e, kind: n, rtpParameters: s, streamId: i, } = t; m.debug("receive() [trackId:%s, kind:%s]", e, n); const a = s.mid ?? String(this._mapMidTransceiver.size); r.set(e, a), this._remoteSdp.receive({ mid: a, kind: n, offerRtpParameters: s, streamId: i ?? s.rtcp.cname, trackId: e, }); } const s = { type: "offer", sdp: this._remoteSdp.getSdp() }; m.debug( "receive() | calling pc.setRemoteDescription() [offer:%o]", s ), await this._pc.setRemoteDescription(s); let i = await this._pc.createAnswer(); const a = n.parse(i.sdp); for (const t of e) { const { trackId: e, rtpParameters: n } = t, s = r.get(e), i = a.media.find((e) => String(e.mid) === s); o.applyCodecParameters({ offerRtpParameters: n, answerMediaObject: i, }); } (i = { type: "answer", sdp: n.write(a) }), this._transportReady || (await this.setupTransport({ localDtlsRole: this._forcedLocalDtlsRole ?? "client", localSdpObject: a, })), m.debug( "receive() | calling pc.setLocalDescription() [answer:%o]", i ), await this._pc.setLocalDescription(i); for (const n of e) { const { trackId: e } = n, s = r.get(e), i = this._pc.getTransceivers().find((e) => e.mid === s); if (!i) throw new Error("new RTCRtpTransceiver not found"); this._mapMidTransceiver.set(s, i), t.push({ localId: s, track: i.receiver.track, rtpReceiver: i.receiver, }); } return t; } async stopReceiving(e) { if ((this.assertRecvDirection(), this._closed)) return; for (const t of e) { m.debug("stopReceiving() [localId:%s]", t); const e = this._mapMidTransceiver.get(t); if (!e) throw new Error("associated RTCRtpTransceiver not found"); this._remoteSdp.closeMediaSection(e.mid); } const t = { type: "offer", sdp: this._remoteSdp.getSdp() }; m.debug( "stopReceiving() | calling pc.setRemoteDescription() [offer:%o]", t ), await this._pc.setRemoteDescription(t); const r = await this._pc.createAnswer(); m.debug( "stopReceiving() | calling pc.setLocalDescription() [answer:%o]", r ), await this._pc.setLocalDescription(r); for (const t of e) this._mapMidTransceiver.delete(t); } async pauseReceiving(e) { this.assertNotClosed(), this.assertRecvDirection(); for (const t of e) { m.debug("pauseReceiving() [localId:%s]", t); const e = this._mapMidTransceiver.get(t); if (!e) throw new Error("associated RTCRtpTransceiver not found"); (e.direction = "inactive"), this._remoteSdp.pauseMediaSection(t); } const t = { type: "offer", sdp: this._remoteSdp.getSdp() }; m.debug( "pauseReceiving() | calling pc.setRemoteDescription() [offer:%o]", t ), await this._pc.setRemoteDescription(t); const r = await this._pc.createAnswer(); m.debug( "pauseReceiving() | calling pc.setLocalDescription() [answer:%o]", r ), await this._pc.setLocalDescription(r); } async resumeReceiving(e) { this.assertNotClosed(), this.assertRecvDirection(); for (const t of e) { m.debug("resumeReceiving() [localId:%s]", t); const e = this._mapMidTransceiver.get(t); if (!e) throw new Error("associated RTCRtpTransceiver not found"); (e.direction = "recvonly"), this._remoteSdp.resumeReceivingMediaSection(t); } const t = { type: "offer", sdp: this._remoteSdp.getSdp() }; m.debug( "resumeReceiving() | calling pc.setRemoteDescription() [offer:%o]", t ), await this._pc.setRemoteDescription(t); const r = await this._pc.createAnswer(); m.debug( "resumeReceiving() | calling pc.setLocalDescription() [answer:%o]", r ), await this._pc.setLocalDescription(r); } async getReceiverStats(e) { this.assertNotClosed(), this.assertRecvDirection(); const t = this._mapMidTransceiver.get(e); if (!t) throw new Error("associated RTCRtpTransceiver not found"); return t.receiver.getStats(); } async receiveDataChannel({ sctpStreamParameters: e, label: t, protocol: r, }) { this.assertNotClosed(), this.assertRecvDirection(); const { streamId: s, ordered: i, maxPacketLifeTime: a, maxRetransmits: o, } = e, c = { negotiated: !0, id: s, ordered: i, maxPacketLifeTime: a, maxRetransmits: o, protocol: r, }; m.debug("receiveDataChannel() [options:%o]", c); const d = this._pc.createDataChannel(t, c); if (!this._hasDataChannelMediaSection) { this._remoteSdp.receiveSctpAssociation(); const e = { type: "offer", sdp: this._remoteSdp.getSdp() }; m.debug( "receiveDataChannel() | calling pc.setRemoteDescription() [offer:%o]", e ), await this._pc.setRemoteDescription(e); const t = await this._pc.createAnswer(); if (!this._transportReady) { const e = n.parse(t.sdp); await this.setupTransport({ localDtlsRole: this._forcedLocalDtlsRole ?? "client", localSdpObject: e, }); } m.debug( "receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]", t ), await this._pc.setLocalDescription(t), (this._hasDataChannelMediaSection = !0); } return { dataChannel: d }; } async setupTransport({ localDtlsRole: e, localSdpObject: t }) { t || (t = n.parse(this._pc.localDescription.sdp)); const r = o.extractDtlsParameters({ sdpObject: t }); (r.role = e), this._remoteSdp.updateDtlsRole( "client" === e ? "server" : "client" ), await new Promise((e, t) => { this.safeEmit("@connect", { dtlsParameters: r }, e, t); }), (this._transportReady = !0); } assertNotClosed() { if (this._closed) throw new u.InvalidStateError( "method called in a closed handler" ); } assertSendDirection() { if ("send" !== this._direction) throw new Error( 'method can just be called for handlers with "send" direction' ); } assertRecvDirection() { if ("recv" !== this._direction) throw new Error( 'method can just be called for handlers with "recv" direction' ); } } t.Chrome74 = g; }, 19: function (e, t, r) { var n, s, i, a, o, c, d, u, l; e.exports = ((l = r(9021)), r(3009), r(1025), (s = (n = l).lib), (i = s.Base), (a = s.WordArray), (o = n.algo), (c = o.SHA256), (d = o.HMAC), (u = o.PBKDF2 = i.extend({ cfg: i.extend({ keySize: 4, hasher: c, iterations: 25e4 }), init: function (e) { this.cfg = this.cfg.extend(e); }, compute: function (e, t) { for ( var r = this.cfg, n = d.create(r.hasher, e), s = a.create(), i = a.create([1]), o = s.words, c = i.words, u = r.keySize, l = r.iterations; o.length < u; ) { var p = n.update(t).finalize(i); n.reset(); for ( var h = p.words, m = h.length, f = p, g = 1; g < l; g++ ) { (f = n.finalize(f)), n.reset(); for (var v = f.words, _ = 0; _ < m; _++) h[_] ^= v[_]; } s.concat(p), c[0]++; } return (s.sigBytes = 4 * u), s; }, })), (n.PBKDF2 = function (e, t, r) { return u.create(r).compute(e, t); }), l.PBKDF2); }, 25: function (e, t, r) { var n, s, i, a; e.exports = ((a = r(9021)), r(7165), (s = (n = a).lib.CipherParams), (i = n.enc.Hex), (n.format.Hex = { stringify: function (e) { return e.ciphertext.toString(i); }, parse: function (e) { var t = i.parse(e); return s.create({ ciphertext: t }); }, }), a.format.Hex); }, 76: (e, t, r) => { "use strict"; t.s$ = t.pF = void 0; r(7833).default, r(8057); var n = r(6004); Object.defineProperty(t, "pF", { enumerable: !0, get: function () { return n.Device; }, }); var s = r(3303); Object.defineProperty(t, "s$", { enumerable: !0, get: function () { return s.parse; }, }), r(8046); var i = r(2731); r(5248); }, 182: (e, t, r) => { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), (t.version = t.validate = t.v7 = t.v6ToV1 = t.v6 = t.v5 = t.v4 = t.v3 = t.v1ToV6 = t.v1 = t.stringify = t.parse = t.NIL = t.MAX = void 0); var n = r(2196); Object.defineProperty(t, "MAX", { enumerable: !0, get: function () { return n.default; }, }); var s = r(3465); Object.defineProperty(t, "NIL", { enumerable: !0, get: function () { return s.default; }, }); var i = r(1797); Object.defineProperty(t, "parse", { enumerable: !0, get: function () { return i.default; }, }); var a = r(6011); Object.defineProperty(t, "stringify", { enumerable: !0, get: function () { return a.default; }, }); var o = r(1425); Object.defineProperty(t, "v1", { enumerable: !0, get: function () { return o.default; }, }); var c = r(6568); Object.defineProperty(t, "v1ToV6", { enumerable: !0, get: function () { return c.default; }, }); var d = r(591); Object.defineProperty(t, "v3", { enumerable: !0, get: function () { return d.default; }, }); var u = r(8286); Object.defineProperty(t, "v4", { enumerable: !0, get: function () { return u.default; }, }); var l = r(4557); Object.defineProperty(t, "v5", { enumerable: !0, get: function () { return l.default; }, }); var p = r(6356); Object.defineProperty(t, "v6", { enumerable: !0, get: function () { return p.default; }, }); var h = r(268); Object.defineProperty(t, "v6ToV1", { enumerable: !0, get: function () { return h.default; }, }); var m = r(4299); Object.defineProperty(t, "v7", { enumerable: !0, get: function () { return m.default; }, }); var f = r(9746); Object.defineProperty(t, "validate", { enumerable: !0, get: function () { return f.default; }, }); var g = r(2770); Object.defineProperty(t, "version", { enumerable: !0, get: function () { return g.default; }, }); }, 268: (e, t, r) => { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); const n = r(1797), s = r(6011); t.default = function (e) { const t = (function (e) { return Uint8Array.of( ((15 & e[3]) << 4) | ((e[4] >> 4) & 15), ((15 & e[4]) << 4) | ((240 & e[5]) >> 4), ((15 & e[5]) << 4) | (15 & e[6]), e[7], ((15 & e[1]) << 4) | ((240 & e[2]) >> 4), ((15 & e[2]) << 4) | ((240 & e[3]) >> 4), 16 | ((240 & e[0]) >> 4), ((15 & e[0]) << 4) | ((240 & e[1]) >> 4), e[8], e[9], e[10], e[11], e[12], e[13], e[14], e[15] ); })("string" == typeof e ? (0, n.default)(e) : e); return "string" == typeof e ? (0, s.unsafeStringify)(t) : t; }; }, 296: (e, t, r) => { "use strict"; r.d(t, { A: () => s }); var n = r(7800); function s(e, t) { return ( (function (e) { if (Array.isArray(e)) return e; })(e) || (function (e, t) { var r = null == e ? null : ("undefined" != typeof Symbol && e[Symbol.iterator]) || e["@@iterator"]; if (null != r) { var n, s, i, a, o = [], c = !0, d = !1; try { if (((i = (r = r.call(e)).next), 0 === t)) { if (Object(r) !== r) return; c = !1; } else for ( ; !(c = (n = i.call(r)).done) && (o.push(n.value), o.length !== t); c = !0 ); } catch (e) { (d = !0), (s = e); } finally { try { if ( !c && null != r.return && ((a = r.return()), Object(a) !== a) ) return; } finally { if (d) throw s; } } return o; } })(e, t) || (0, n.A)(e, t) || (function () { throw new TypeError( "Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ); })() ); } }, 328: (e, t, r) => { r(8624), (e.exports = self.fetch.bind(self)); }, 338: (e, t) => { "use strict"; function r(e) { return 14 + (((e + 64) >>> 9) << 4) + 1; } function n(e, t) { const r = (65535 & e) + (65535 & t); return (((e >> 16) + (t >> 16) + (r >> 16)) << 16) | (65535 & r); } function s(e, t, r, s, i, a) { return n( ((o = n(n(t, e), n(s, a))) << (c = i)) | (o >>> (32 - c)), r ); var o, c; } function i(e, t, r, n, i, a, o) { return s((t & r) | (~t & n), e, t, i, a, o); } function a(e, t, r, n, i, a, o) { return s((t & n) | (r & ~n), e, t, i, a, o); } function o(e, t, r, n, i, a, o) { return s(t ^ r ^ n, e, t, i, a, o); } function c(e, t, r, n, i, a, o) { return s(r ^ (t | ~n), e, t, i, a, o); } Object.defineProperty(t, "__esModule", { value: !0 }), (t.default = function (e) { return (function (e) { const t = new Uint8Array(4 * e.length); for (let r = 0; r < 4 * e.length; r++) t[r] = (e[r >> 2] >>> ((r % 4) * 8)) & 255; return t; })( (function (e, t) { const s = new Uint32Array(r(t)).fill(0); s.set(e), (s[t >> 5] |= 128 << t % 32), (s[s.length - 1] = t), (e = s); let d = 1732584193, u = -271733879, l = -1732584194, p = 271733878; for (let t = 0; t < e.length; t += 16) { const r = d, s = u, h = l, m = p; (d = i(d, u, l, p, e[t], 7, -680876936)), (p = i(p, d, u, l, e[t + 1], 12, -389564586)), (l = i(l, p, d, u, e[t + 2], 17, 606105819)), (u = i(u, l, p, d, e[t + 3], 22, -1044525330)), (d = i(d, u, l, p, e[t + 4], 7, -176418897)), (p = i(p, d, u, l, e[t + 5], 12, 1200080426)), (l = i(l, p, d, u, e[t + 6], 17, -1473231341)), (u = i(u, l, p, d, e[t + 7], 22, -45705983)), (d = i(d, u, l, p, e[t + 8], 7, 1770035416)), (p = i(p, d, u, l, e[t + 9], 12, -1958414417)), (l = i(l, p, d, u, e[t + 10], 17, -42063)), (u = i(u, l, p, d, e[t + 11], 22, -1990404162)), (d = i(d, u, l, p, e[t + 12], 7, 1804603682)), (p = i(p, d, u, l, e[t + 13], 12, -40341101)), (l = i(l, p, d, u, e[t + 14], 17, -1502002290)), (u = i(u, l, p, d, e[t + 15], 22, 1236535329)), (d = a(d, u, l, p, e[t + 1], 5, -165796510)), (p = a(p, d, u, l, e[t + 6], 9, -1069501632)), (l = a(l, p, d, u, e[t + 11], 14, 643717713)), (u = a(u, l, p, d, e[t], 20, -373897302)), (d = a(d, u, l, p, e[t + 5], 5, -701558691)), (p = a(p, d, u, l, e[t + 10], 9, 38016083)), (l = a(l, p, d, u, e[t + 15], 14, -660478335)), (u = a(u, l, p, d, e[t + 4], 20, -405537848)), (d = a(d, u, l, p, e[t + 9], 5, 568446438)), (p = a(p, d, u, l, e[t + 14], 9, -1019803690)), (l = a(l, p, d, u, e[t + 3], 14, -187363961)), (u = a(u, l, p, d, e[t + 8], 20, 1163531501)), (d = a(d, u, l, p, e[t + 13], 5, -1444681467)), (p = a(p, d, u, l, e[t + 2], 9, -51403784)), (l = a(l, p, d, u, e[t + 7], 14, 1735328473)), (u = a(u, l, p, d, e[t + 12], 20, -1926607734)), (d = o(d, u, l, p, e[t + 5], 4, -378558)), (p = o(p, d, u, l, e[t + 8], 11, -2022574463)), (l = o(l, p, d, u, e[t + 11], 16, 1839030562)), (u = o(u, l, p, d, e[t + 14], 23, -35309556)), (d = o(d, u, l, p, e[t + 1], 4, -1530992060)), (p = o(p, d, u, l, e[t + 4], 11, 1272893353)), (l = o(l, p, d, u, e[t + 7], 16, -155497632)), (u = o(u, l, p, d, e[t + 10], 23, -1094730640)), (d = o(d, u, l, p, e[t + 13], 4, 681279174)), (p = o(p, d, u, l, e[t], 11, -358537222)), (l = o(l, p, d, u, e[t + 3], 16, -722521979)), (u = o(u, l, p, d, e[t + 6], 23, 76029189)), (d = o(d, u, l, p, e[t + 9], 4, -640364487)), (p = o(p, d, u, l, e[t + 12], 11, -421815835)), (l = o(l, p, d, u, e[t + 15], 16, 530742520)), (u = o(u, l, p, d, e[t + 2], 23, -995338651)), (d = c(d, u, l, p, e[t], 6, -198630844)), (p = c(p, d, u, l, e[t + 7], 10, 1126891415)), (l = c(l, p, d, u, e[t + 14], 15, -1416354905)), (u = c(u, l, p, d, e[t + 5], 21, -57434055)), (d = c(d, u, l, p, e[t + 12], 6, 1700485571)), (p = c(p, d, u, l, e[t + 3], 10, -1894986606)), (l = c(l, p, d, u, e[t + 10], 15, -1051523)), (u = c(u, l, p, d, e[t + 1], 21, -2054922799)), (d = c(d, u, l, p, e[t + 8], 6, 1873313359)), (p = c(p, d, u, l, e[t + 15], 10, -30611744)), (l = c(l, p, d, u, e[t + 6], 15, -1560198380)), (u = c(u, l, p, d, e[t + 13], 21, 1309151649)), (d = c(d, u, l, p, e[t + 4], 6, -145523070)), (p = c(p, d, u, l, e[t + 11], 10, -1120210379)), (l = c(l, p, d, u, e[t + 2], 15, 718787259)), (u = c(u, l, p, d, e[t + 9], 21, -343485551)), (d = n(d, r)), (u = n(u, s)), (l = n(l, h)), (p = n(p, m)); } return Uint32Array.of(d, u, l, p); })( (function (e) { if (0 === e.length) return new Uint32Array(); const t = new Uint32Array(r(8 * e.length)).fill(0); for (let r = 0; r < e.length; r++) t[r >> 2] |= (255 & e[r]) << ((r % 4) * 8); return t; })(e), 8 * e.length ) ); }); }, 388: (e, t, r) => { "use strict"; r.d(t, { A: () => s }); var n = r(2284); function s(e, t) { if (t && ("object" == (0, n.A)(t) || "function" == typeof t)) return t; if (void 0 !== t) throw new TypeError( "Derived constructors may only return object or undefined" ); return (function (e) { if (void 0 === e) throw new ReferenceError( "this hasn't been initialised - super() hasn't been called" ); return e; })(e); } }, 467: (e, t, r) => { "use strict"; function n(e, t, r, n, s, i, a) { try { var o = e[i](a), c = o.value; } catch (e) { return void r(e); } o.done ? t(c) : Promise.resolve(c).then(n, s); } function s(e) { return function () { var t = this, r = arguments; return new Promise(function (s, i) { var a = e.apply(t, r); function o(e) { n(a, s, i, o, c, "next", e); } function c(e) { n(a, s, i, o, c, "throw", e); } o(void 0); }); }; } r.d(t, { A: () => s }); }, 477: () => {}, 482: function (e, t, r) { var n; e.exports = ((n = r(9021)), r(7165), (n.pad.Iso97971 = { pad: function (e, t) { e.concat(n.lib.WordArray.create([2147483648], 1)), n.pad.ZeroPadding.pad(e, t); }, unpad: function (e) { n.pad.ZeroPadding.unpad(e), e.sigBytes--; }, }), n.pad.Iso97971); }, 521: (e, t, r) => { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), (t.HandlerInterface = void 0); const n = r(3953); class s extends n.EnhancedEventEmitter { constructor() { super(); } } t.HandlerInterface = s; }, 579: (e, t, r) => { var n = r(3738).default; (e.exports = function (e) { if (null != e) { var t = e[ ("function" == typeof Symbol && Symbol.iterator) || "@@iterator" ], r = 0; if (t) return t.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) return { next: function () { return ( e && r >= e.length && (e = void 0), { value: e && e[r++], done: !e } ); }, }; } throw new TypeError(n(e) + " is not iterable"); }), (e.exports.__esModule = !0), (e.exports.default = e.exports); }, 591: (e, t, r) => { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), (t.URL = t.DNS = void 0); const n = r(338), s = r(2988); var i = r(2988); function a(e, t, r, i) { return (0, s.default)(48, n.default, e, t, r, i); } Object.defineProperty(t, "DNS", { enumerable: !0, get: function () { return i.DNS; }, }), Object.defineProperty(t, "URL", { enumerable: !0, get: function () { return i.URL; }, }), (a.DNS = s.DNS), (a.URL = s.URL), (t.default = a); }, 736: (e, t, r) => { e.exports = function (e) { function