UNPKG

ranui

Version:

UI Component library based on `Web Component`

1,094 lines 612 kB
var __defProp = Object.defineProperty; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); import { d as createDocumentFragment, S as SyncHook, r as removeClassToElement, a as addClassToElement, t as timeFormat, f as range, h as generateThrottle } from "./plus-BQnIzzvi.js"; import "./index-B29A7XWy.js"; import { H as HTMLElementSSR } from "./index-9tJmVuyv.js"; !function t(e) { var r, i; r = this, i = function() { function r2(t2, e2) { var r3 = Object.keys(t2); if (Object.getOwnPropertySymbols) { var i3 = Object.getOwnPropertySymbols(t2); e2 && (i3 = i3.filter(function(e3) { return Object.getOwnPropertyDescriptor(t2, e3).enumerable; })), r3.push.apply(r3, i3); } return r3; } function i2(t2) { for (var e2 = 1; e2 < arguments.length; e2++) { var i3 = null != arguments[e2] ? arguments[e2] : {}; e2 % 2 ? r2(Object(i3), true).forEach(function(e3) { s(t2, e3, i3[e3]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t2, Object.getOwnPropertyDescriptors(i3)) : r2(Object(i3)).forEach(function(e3) { Object.defineProperty(t2, e3, Object.getOwnPropertyDescriptor(i3, e3)); }); } return t2; } function n(t2, e2) { for (var r3 = 0; r3 < e2.length; r3++) { var i3 = e2[r3]; i3.enumerable = i3.enumerable || false, i3.configurable = true, "value" in i3 && (i3.writable = true), Object.defineProperty(t2, m(i3.key), i3); } } function a(t2, e2, r3) { return e2 && n(t2.prototype, e2), r3 && n(t2, r3), Object.defineProperty(t2, "prototype", { writable: false }), t2; } function s(t2, e2, r3) { return (e2 = m(e2)) in t2 ? Object.defineProperty(t2, e2, { value: r3, enumerable: true, configurable: true, writable: true }) : t2[e2] = r3, t2; } function o() { return o = Object.assign ? Object.assign.bind() : function(t2) { for (var e2 = 1; e2 < arguments.length; e2++) { var r3 = arguments[e2]; for (var i3 in r3) Object.prototype.hasOwnProperty.call(r3, i3) && (t2[i3] = r3[i3]); } return t2; }, o.apply(this, arguments); } function l(t2, e2) { t2.prototype = Object.create(e2.prototype), t2.prototype.constructor = t2, h(t2, e2); } function u(t2) { return u = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t3) { return t3.__proto__ || Object.getPrototypeOf(t3); }, u(t2); } function h(t2, e2) { return h = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t3, e3) { return t3.__proto__ = e3, t3; }, h(t2, e2); } function d() { if ("undefined" == typeof Reflect || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if ("function" == typeof Proxy) return true; try { return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() { })), true; } catch (t2) { return false; } } function c(t2, e2, r3) { return c = d() ? Reflect.construct.bind() : function(t3, e3, r4) { var i3 = [null]; i3.push.apply(i3, e3); var n2 = new (Function.bind.apply(t3, i3))(); return r4 && h(n2, r4.prototype), n2; }, c.apply(null, arguments); } function f(t2) { var e2 = "function" == typeof Map ? /* @__PURE__ */ new Map() : void 0; return f = function(t3) { if (null === t3 || (r3 = t3, -1 === Function.toString.call(r3).indexOf("[native code]"))) return t3; var r3; if ("function" != typeof t3) throw new TypeError("Super expression must either be null or a function"); if (void 0 !== e2) { if (e2.has(t3)) return e2.get(t3); e2.set(t3, i3); } function i3() { return c(t3, arguments, u(this).constructor); } return i3.prototype = Object.create(t3.prototype, { constructor: { value: i3, enumerable: false, writable: true, configurable: true } }), h(i3, t3); }, f(t2); } function g(t2, e2) { (null == e2 || e2 > t2.length) && (e2 = t2.length); for (var r3 = 0, i3 = new Array(e2); r3 < e2; r3++) i3[r3] = t2[r3]; return i3; } function v(t2, e2) { var r3 = "undefined" != typeof Symbol && t2[Symbol.iterator] || t2["@@iterator"]; if (r3) return (r3 = r3.call(t2)).next.bind(r3); if (Array.isArray(t2) || (r3 = function(t3, e3) { if (t3) { if ("string" == typeof t3) return g(t3, e3); var r4 = Object.prototype.toString.call(t3).slice(8, -1); return "Object" === r4 && t3.constructor && (r4 = t3.constructor.name), "Map" === r4 || "Set" === r4 ? Array.from(t3) : "Arguments" === r4 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r4) ? g(t3, e3) : void 0; } }(t2)) || e2) { r3 && (t2 = r3); var i3 = 0; return function() { return i3 >= t2.length ? { done: true } : { done: false, value: t2[i3++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function m(t2) { var e2 = function(t3, e3) { if ("object" != typeof t3 || null === t3) return t3; var r3 = t3[Symbol.toPrimitive]; if (void 0 !== r3) { var i3 = r3.call(t3, e3); if ("object" != typeof i3) return i3; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === e3 ? String : Number)(t3); }(t2, "string"); return "symbol" == typeof e2 ? e2 : String(e2); } function p(t2) { return t2 && t2.__esModule && Object.prototype.hasOwnProperty.call(t2, "default") ? t2.default : t2; } var y = { exports: {} }; !function(t2, e2) { var r3, i3, n2, a2, s2; r3 = /^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/, i3 = /^(?=([^\/?#]*))\1([^]*)$/, n2 = /(?:\/|^)\.(?=\/)/g, a2 = /(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g, s2 = { buildAbsoluteURL: function(t3, e3, r4) { if (r4 = r4 || {}, t3 = t3.trim(), !(e3 = e3.trim())) { if (!r4.alwaysNormalize) return t3; var n3 = s2.parseURL(t3); if (!n3) throw new Error("Error trying to parse base URL."); return n3.path = s2.normalizePath(n3.path), s2.buildURLFromParts(n3); } var a3 = s2.parseURL(e3); if (!a3) throw new Error("Error trying to parse relative URL."); if (a3.scheme) return r4.alwaysNormalize ? (a3.path = s2.normalizePath(a3.path), s2.buildURLFromParts(a3)) : e3; var o2 = s2.parseURL(t3); if (!o2) throw new Error("Error trying to parse base URL."); if (!o2.netLoc && o2.path && "/" !== o2.path[0]) { var l2 = i3.exec(o2.path); o2.netLoc = l2[1], o2.path = l2[2]; } o2.netLoc && !o2.path && (o2.path = "/"); var u2 = { scheme: o2.scheme, netLoc: a3.netLoc, path: null, params: a3.params, query: a3.query, fragment: a3.fragment }; if (!a3.netLoc && (u2.netLoc = o2.netLoc, "/" !== a3.path[0])) if (a3.path) { var h2 = o2.path, d2 = h2.substring(0, h2.lastIndexOf("/") + 1) + a3.path; u2.path = s2.normalizePath(d2); } else u2.path = o2.path, a3.params || (u2.params = o2.params, a3.query || (u2.query = o2.query)); return null === u2.path && (u2.path = r4.alwaysNormalize ? s2.normalizePath(a3.path) : a3.path), s2.buildURLFromParts(u2); }, parseURL: function(t3) { var e3 = r3.exec(t3); return e3 ? { scheme: e3[1] || "", netLoc: e3[2] || "", path: e3[3] || "", params: e3[4] || "", query: e3[5] || "", fragment: e3[6] || "" } : null; }, normalizePath: function(t3) { for (t3 = t3.split("").reverse().join("").replace(n2, ""); t3.length !== (t3 = t3.replace(a2, "")).length; ) ; return t3.split("").reverse().join(""); }, buildURLFromParts: function(t3) { return t3.scheme + t3.netLoc + t3.path + t3.params + t3.query + t3.fragment; } }, t2.exports = s2; }(y); var T = y.exports, E = Number.isFinite || function(t2) { return "number" == typeof t2 && isFinite(t2); }, S = function(t2) { return t2.MEDIA_ATTACHING = "hlsMediaAttaching", t2.MEDIA_ATTACHED = "hlsMediaAttached", t2.MEDIA_DETACHING = "hlsMediaDetaching", t2.MEDIA_DETACHED = "hlsMediaDetached", t2.BUFFER_RESET = "hlsBufferReset", t2.BUFFER_CODECS = "hlsBufferCodecs", t2.BUFFER_CREATED = "hlsBufferCreated", t2.BUFFER_APPENDING = "hlsBufferAppending", t2.BUFFER_APPENDED = "hlsBufferAppended", t2.BUFFER_EOS = "hlsBufferEos", t2.BUFFER_FLUSHING = "hlsBufferFlushing", t2.BUFFER_FLUSHED = "hlsBufferFlushed", t2.MANIFEST_LOADING = "hlsManifestLoading", t2.MANIFEST_LOADED = "hlsManifestLoaded", t2.MANIFEST_PARSED = "hlsManifestParsed", t2.LEVEL_SWITCHING = "hlsLevelSwitching", t2.LEVEL_SWITCHED = "hlsLevelSwitched", t2.LEVEL_LOADING = "hlsLevelLoading", t2.LEVEL_LOADED = "hlsLevelLoaded", t2.LEVEL_UPDATED = "hlsLevelUpdated", t2.LEVEL_PTS_UPDATED = "hlsLevelPtsUpdated", t2.LEVELS_UPDATED = "hlsLevelsUpdated", t2.AUDIO_TRACKS_UPDATED = "hlsAudioTracksUpdated", t2.AUDIO_TRACK_SWITCHING = "hlsAudioTrackSwitching", t2.AUDIO_TRACK_SWITCHED = "hlsAudioTrackSwitched", t2.AUDIO_TRACK_LOADING = "hlsAudioTrackLoading", t2.AUDIO_TRACK_LOADED = "hlsAudioTrackLoaded", t2.SUBTITLE_TRACKS_UPDATED = "hlsSubtitleTracksUpdated", t2.SUBTITLE_TRACKS_CLEARED = "hlsSubtitleTracksCleared", t2.SUBTITLE_TRACK_SWITCH = "hlsSubtitleTrackSwitch", t2.SUBTITLE_TRACK_LOADING = "hlsSubtitleTrackLoading", t2.SUBTITLE_TRACK_LOADED = "hlsSubtitleTrackLoaded", t2.SUBTITLE_FRAG_PROCESSED = "hlsSubtitleFragProcessed", t2.CUES_PARSED = "hlsCuesParsed", t2.NON_NATIVE_TEXT_TRACKS_FOUND = "hlsNonNativeTextTracksFound", t2.INIT_PTS_FOUND = "hlsInitPtsFound", t2.FRAG_LOADING = "hlsFragLoading", t2.FRAG_LOAD_EMERGENCY_ABORTED = "hlsFragLoadEmergencyAborted", t2.FRAG_LOADED = "hlsFragLoaded", t2.FRAG_DECRYPTED = "hlsFragDecrypted", t2.FRAG_PARSING_INIT_SEGMENT = "hlsFragParsingInitSegment", t2.FRAG_PARSING_USERDATA = "hlsFragParsingUserdata", t2.FRAG_PARSING_METADATA = "hlsFragParsingMetadata", t2.FRAG_PARSED = "hlsFragParsed", t2.FRAG_BUFFERED = "hlsFragBuffered", t2.FRAG_CHANGED = "hlsFragChanged", t2.FPS_DROP = "hlsFpsDrop", t2.FPS_DROP_LEVEL_CAPPING = "hlsFpsDropLevelCapping", t2.ERROR = "hlsError", t2.DESTROYING = "hlsDestroying", t2.KEY_LOADING = "hlsKeyLoading", t2.KEY_LOADED = "hlsKeyLoaded", t2.LIVE_BACK_BUFFER_REACHED = "hlsLiveBackBufferReached", t2.BACK_BUFFER_REACHED = "hlsBackBufferReached", t2; }({}), L = function(t2) { return t2.NETWORK_ERROR = "networkError", t2.MEDIA_ERROR = "mediaError", t2.KEY_SYSTEM_ERROR = "keySystemError", t2.MUX_ERROR = "muxError", t2.OTHER_ERROR = "otherError", t2; }({}), R = function(t2) { return t2.KEY_SYSTEM_NO_KEYS = "keySystemNoKeys", t2.KEY_SYSTEM_NO_ACCESS = "keySystemNoAccess", t2.KEY_SYSTEM_NO_SESSION = "keySystemNoSession", t2.KEY_SYSTEM_NO_CONFIGURED_LICENSE = "keySystemNoConfiguredLicense", t2.KEY_SYSTEM_LICENSE_REQUEST_FAILED = "keySystemLicenseRequestFailed", t2.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED = "keySystemServerCertificateRequestFailed", t2.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED = "keySystemServerCertificateUpdateFailed", t2.KEY_SYSTEM_SESSION_UPDATE_FAILED = "keySystemSessionUpdateFailed", t2.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED = "keySystemStatusOutputRestricted", t2.KEY_SYSTEM_STATUS_INTERNAL_ERROR = "keySystemStatusInternalError", t2.MANIFEST_LOAD_ERROR = "manifestLoadError", t2.MANIFEST_LOAD_TIMEOUT = "manifestLoadTimeOut", t2.MANIFEST_PARSING_ERROR = "manifestParsingError", t2.MANIFEST_INCOMPATIBLE_CODECS_ERROR = "manifestIncompatibleCodecsError", t2.LEVEL_EMPTY_ERROR = "levelEmptyError", t2.LEVEL_LOAD_ERROR = "levelLoadError", t2.LEVEL_LOAD_TIMEOUT = "levelLoadTimeOut", t2.LEVEL_PARSING_ERROR = "levelParsingError", t2.LEVEL_SWITCH_ERROR = "levelSwitchError", t2.AUDIO_TRACK_LOAD_ERROR = "audioTrackLoadError", t2.AUDIO_TRACK_LOAD_TIMEOUT = "audioTrackLoadTimeOut", t2.SUBTITLE_LOAD_ERROR = "subtitleTrackLoadError", t2.SUBTITLE_TRACK_LOAD_TIMEOUT = "subtitleTrackLoadTimeOut", t2.FRAG_LOAD_ERROR = "fragLoadError", t2.FRAG_LOAD_TIMEOUT = "fragLoadTimeOut", t2.FRAG_DECRYPT_ERROR = "fragDecryptError", t2.FRAG_PARSING_ERROR = "fragParsingError", t2.FRAG_GAP = "fragGap", t2.REMUX_ALLOC_ERROR = "remuxAllocError", t2.KEY_LOAD_ERROR = "keyLoadError", t2.KEY_LOAD_TIMEOUT = "keyLoadTimeOut", t2.BUFFER_ADD_CODEC_ERROR = "bufferAddCodecError", t2.BUFFER_INCOMPATIBLE_CODECS_ERROR = "bufferIncompatibleCodecsError", t2.BUFFER_APPEND_ERROR = "bufferAppendError", t2.BUFFER_APPENDING_ERROR = "bufferAppendingError", t2.BUFFER_STALLED_ERROR = "bufferStalledError", t2.BUFFER_FULL_ERROR = "bufferFullError", t2.BUFFER_SEEK_OVER_HOLE = "bufferSeekOverHole", t2.BUFFER_NUDGE_ON_STALL = "bufferNudgeOnStall", t2.INTERNAL_EXCEPTION = "internalException", t2.INTERNAL_ABORTED = "aborted", t2.UNKNOWN = "unknown", t2; }({}), A = function() { }, k = { trace: A, debug: A, log: A, warn: A, info: A, error: A }, b = k; function D(t2) { var e2 = self.console[t2]; return e2 ? e2.bind(self.console, "[" + t2 + "] >") : A; } function I(t2, e2) { if (self.console && true === t2 || "object" == typeof t2) { !function(t3) { for (var e3 = arguments.length, r3 = new Array(e3 > 1 ? e3 - 1 : 0), i3 = 1; i3 < e3; i3++) r3[i3 - 1] = arguments[i3]; r3.forEach(function(e4) { b[e4] = t3[e4] ? t3[e4].bind(t3) : D(e4); }); }(t2, "debug", "log", "info", "warn", "error"); try { b.log('Debug logs enabled for "' + e2 + '" in hls.js version 1.4.12'); } catch (t3) { b = k; } } else b = k; } var w = b, C = /^(\d+)x(\d+)$/, _ = /(.+?)=(".*?"|.*?)(?:,|$)/g, P = function() { function t2(e3) { for (var r3 in "string" == typeof e3 && (e3 = t2.parseAttrList(e3)), e3) e3.hasOwnProperty(r3) && ("X-" === r3.substring(0, 2) && (this.clientAttrs = this.clientAttrs || [], this.clientAttrs.push(r3)), this[r3] = e3[r3]); } var e2 = t2.prototype; return e2.decimalInteger = function(t3) { var e3 = parseInt(this[t3], 10); return e3 > Number.MAX_SAFE_INTEGER ? 1 / 0 : e3; }, e2.hexadecimalInteger = function(t3) { if (this[t3]) { var e3 = (this[t3] || "0x").slice(2); e3 = (1 & e3.length ? "0" : "") + e3; for (var r3 = new Uint8Array(e3.length / 2), i3 = 0; i3 < e3.length / 2; i3++) r3[i3] = parseInt(e3.slice(2 * i3, 2 * i3 + 2), 16); return r3; } return null; }, e2.hexadecimalIntegerAsNumber = function(t3) { var e3 = parseInt(this[t3], 16); return e3 > Number.MAX_SAFE_INTEGER ? 1 / 0 : e3; }, e2.decimalFloatingPoint = function(t3) { return parseFloat(this[t3]); }, e2.optionalFloat = function(t3, e3) { var r3 = this[t3]; return r3 ? parseFloat(r3) : e3; }, e2.enumeratedString = function(t3) { return this[t3]; }, e2.bool = function(t3) { return "YES" === this[t3]; }, e2.decimalResolution = function(t3) { var e3 = C.exec(this[t3]); if (null !== e3) return { width: parseInt(e3[1], 10), height: parseInt(e3[2], 10) }; }, t2.parseAttrList = function(t3) { var e3, r3 = {}; for (_.lastIndex = 0; null !== (e3 = _.exec(t3)); ) { var i3 = e3[2]; 0 === i3.indexOf('"') && i3.lastIndexOf('"') === i3.length - 1 && (i3 = i3.slice(1, -1)), r3[e3[1].trim()] = i3; } return r3; }, t2; }(); function x(t2) { return "SCTE35-OUT" === t2 || "SCTE35-IN" === t2; } var F = function() { function t2(t3, e2) { if (this.attr = void 0, this._startDate = void 0, this._endDate = void 0, this._badValueForSameId = void 0, e2) { var r3 = e2.attr; for (var i3 in r3) if (Object.prototype.hasOwnProperty.call(t3, i3) && t3[i3] !== r3[i3]) { w.warn('DATERANGE tag attribute: "' + i3 + '" does not match for tags with ID: "' + t3.ID + '"'), this._badValueForSameId = i3; break; } t3 = o(new P({}), r3, t3); } if (this.attr = t3, this._startDate = new Date(t3["START-DATE"]), "END-DATE" in this.attr) { var n2 = new Date(this.attr["END-DATE"]); E(n2.getTime()) && (this._endDate = n2); } } return a(t2, [{ key: "id", get: function() { return this.attr.ID; } }, { key: "class", get: function() { return this.attr.CLASS; } }, { key: "startDate", get: function() { return this._startDate; } }, { key: "endDate", get: function() { if (this._endDate) return this._endDate; var t3 = this.duration; return null !== t3 ? new Date(this._startDate.getTime() + 1e3 * t3) : null; } }, { key: "duration", get: function() { if ("DURATION" in this.attr) { var t3 = this.attr.decimalFloatingPoint("DURATION"); if (E(t3)) return t3; } else if (this._endDate) return (this._endDate.getTime() - this._startDate.getTime()) / 1e3; return null; } }, { key: "plannedDuration", get: function() { return "PLANNED-DURATION" in this.attr ? this.attr.decimalFloatingPoint("PLANNED-DURATION") : null; } }, { key: "endOnNext", get: function() { return this.attr.bool("END-ON-NEXT"); } }, { key: "isValid", get: function() { return !!this.id && !this._badValueForSameId && E(this.startDate.getTime()) && (null === this.duration || this.duration >= 0) && (!this.endOnNext || !!this.class); } }]), t2; }(), M = function() { this.aborted = false, this.loaded = 0, this.retry = 0, this.total = 0, this.chunkCount = 0, this.bwEstimate = 0, this.loading = { start: 0, first: 0, end: 0 }, this.parsing = { start: 0, end: 0 }, this.buffering = { start: 0, first: 0, end: 0 }; }, O = "audio", N = "video", U = "audiovideo", B = function() { function t2(t3) { var e2; this._byteRange = null, this._url = null, this.baseurl = void 0, this.relurl = void 0, this.elementaryStreams = ((e2 = {})[O] = null, e2[N] = null, e2[U] = null, e2), this.baseurl = t3; } return t2.prototype.setByteRange = function(t3, e2) { var r3 = t3.split("@", 2), i3 = []; 1 === r3.length ? i3[0] = e2 ? e2.byteRangeEndOffset : 0 : i3[0] = parseInt(r3[1]), i3[1] = parseInt(r3[0]) + i3[0], this._byteRange = i3; }, a(t2, [{ key: "byteRange", get: function() { return this._byteRange ? this._byteRange : []; } }, { key: "byteRangeStartOffset", get: function() { return this.byteRange[0]; } }, { key: "byteRangeEndOffset", get: function() { return this.byteRange[1]; } }, { key: "url", get: function() { return !this._url && this.baseurl && this.relurl && (this._url = T.buildAbsoluteURL(this.baseurl, this.relurl, { alwaysNormalize: true })), this._url || ""; }, set: function(t3) { this._url = t3; } }]), t2; }(), G = function(t2) { function e2(e3, r4) { var i3; return (i3 = t2.call(this, r4) || this)._decryptdata = null, i3.rawProgramDateTime = null, i3.programDateTime = null, i3.tagList = [], i3.duration = 0, i3.sn = 0, i3.levelkeys = void 0, i3.type = void 0, i3.loader = null, i3.keyLoader = null, i3.level = -1, i3.cc = 0, i3.startPTS = void 0, i3.endPTS = void 0, i3.startDTS = void 0, i3.endDTS = void 0, i3.start = 0, i3.deltaPTS = void 0, i3.maxStartPTS = void 0, i3.minEndPTS = void 0, i3.stats = new M(), i3.urlId = 0, i3.data = void 0, i3.bitrateTest = false, i3.title = null, i3.initSegment = null, i3.endList = void 0, i3.gap = void 0, i3.type = e3, i3; } l(e2, t2); var r3 = e2.prototype; return r3.setKeyFormat = function(t3) { if (this.levelkeys) { var e3 = this.levelkeys[t3]; e3 && !this._decryptdata && (this._decryptdata = e3.getDecryptData(this.sn)); } }, r3.abortRequests = function() { var t3, e3; null == (t3 = this.loader) || t3.abort(), null == (e3 = this.keyLoader) || e3.abort(); }, r3.setElementaryStreamInfo = function(t3, e3, r4, i3, n2, a2) { void 0 === a2 && (a2 = false); var s2 = this.elementaryStreams, o2 = s2[t3]; o2 ? (o2.startPTS = Math.min(o2.startPTS, e3), o2.endPTS = Math.max(o2.endPTS, r4), o2.startDTS = Math.min(o2.startDTS, i3), o2.endDTS = Math.max(o2.endDTS, n2)) : s2[t3] = { startPTS: e3, endPTS: r4, startDTS: i3, endDTS: n2, partial: a2 }; }, r3.clearElementaryStreamInfo = function() { var t3 = this.elementaryStreams; t3[O] = null, t3[N] = null, t3[U] = null; }, a(e2, [{ key: "decryptdata", get: function() { if (!this.levelkeys && !this._decryptdata) return null; if (!this._decryptdata && this.levelkeys && !this.levelkeys.NONE) { var t3 = this.levelkeys.identity; if (t3) this._decryptdata = t3.getDecryptData(this.sn); else { var e3 = Object.keys(this.levelkeys); if (1 === e3.length) return this._decryptdata = this.levelkeys[e3[0]].getDecryptData(this.sn); } } return this._decryptdata; } }, { key: "end", get: function() { return this.start + this.duration; } }, { key: "endProgramDateTime", get: function() { if (null === this.programDateTime) return null; if (!E(this.programDateTime)) return null; var t3 = E(this.duration) ? this.duration : 0; return this.programDateTime + 1e3 * t3; } }, { key: "encrypted", get: function() { var t3; if (null != (t3 = this._decryptdata) && t3.encrypted) return true; if (this.levelkeys) { var e3 = Object.keys(this.levelkeys), r4 = e3.length; if (r4 > 1 || 1 === r4 && this.levelkeys[e3[0]].encrypted) return true; } return false; } }]), e2; }(B), K = function(t2) { function e2(e3, r3, i3, n2, a2) { var s2; (s2 = t2.call(this, i3) || this).fragOffset = 0, s2.duration = 0, s2.gap = false, s2.independent = false, s2.relurl = void 0, s2.fragment = void 0, s2.index = void 0, s2.stats = new M(), s2.duration = e3.decimalFloatingPoint("DURATION"), s2.gap = e3.bool("GAP"), s2.independent = e3.bool("INDEPENDENT"), s2.relurl = e3.enumeratedString("URI"), s2.fragment = r3, s2.index = n2; var o2 = e3.enumeratedString("BYTERANGE"); return o2 && s2.setByteRange(o2, a2), a2 && (s2.fragOffset = a2.fragOffset + a2.duration), s2; } return l(e2, t2), a(e2, [{ key: "start", get: function() { return this.fragment.start + this.fragOffset; } }, { key: "end", get: function() { return this.start + this.duration; } }, { key: "loaded", get: function() { var t3 = this.elementaryStreams; return !!(t3.audio || t3.video || t3.audiovideo); } }]), e2; }(B), H = function() { function t2(t3) { this.PTSKnown = false, this.alignedSliding = false, this.averagetargetduration = void 0, this.endCC = 0, this.endSN = 0, this.fragments = void 0, this.fragmentHint = void 0, this.partList = null, this.dateRanges = void 0, this.live = true, this.ageHeader = 0, this.advancedDateTime = void 0, this.updated = true, this.advanced = true, this.availabilityDelay = void 0, this.misses = 0, this.startCC = 0, this.startSN = 0, this.startTimeOffset = null, this.targetduration = 0, this.totalduration = 0, this.type = null, this.url = void 0, this.m3u8 = "", this.version = null, this.canBlockReload = false, this.canSkipUntil = 0, this.canSkipDateRanges = false, this.skippedSegments = 0, this.recentlyRemovedDateranges = void 0, this.partHoldBack = 0, this.holdBack = 0, this.partTarget = 0, this.preloadHint = void 0, this.renditionReports = void 0, this.tuneInGoal = 0, this.deltaUpdateFailed = void 0, this.driftStartTime = 0, this.driftEndTime = 0, this.driftStart = 0, this.driftEnd = 0, this.encryptedFragments = void 0, this.playlistParsingError = null, this.variableList = null, this.hasVariableRefs = false, this.fragments = [], this.encryptedFragments = [], this.dateRanges = {}, this.url = t3; } return t2.prototype.reloaded = function(t3) { if (!t3) return this.advanced = true, void (this.updated = true); var e2 = this.lastPartSn - t3.lastPartSn, r3 = this.lastPartIndex - t3.lastPartIndex; this.updated = this.endSN !== t3.endSN || !!r3 || !!e2 || !this.live, this.advanced = this.endSN > t3.endSN || e2 > 0 || 0 === e2 && r3 > 0, this.updated || this.advanced ? this.misses = Math.floor(0.6 * t3.misses) : this.misses = t3.misses + 1, this.availabilityDelay = t3.availabilityDelay; }, a(t2, [{ key: "hasProgramDateTime", get: function() { return !!this.fragments.length && E(this.fragments[this.fragments.length - 1].programDateTime); } }, { key: "levelTargetDuration", get: function() { return this.averagetargetduration || this.targetduration || 10; } }, { key: "drift", get: function() { var t3 = this.driftEndTime - this.driftStartTime; return t3 > 0 ? 1e3 * (this.driftEnd - this.driftStart) / t3 : 1; } }, { key: "edge", get: function() { return this.partEnd || this.fragmentEnd; } }, { key: "partEnd", get: function() { var t3; return null != (t3 = this.partList) && t3.length ? this.partList[this.partList.length - 1].end : this.fragmentEnd; } }, { key: "fragmentEnd", get: function() { var t3; return null != (t3 = this.fragments) && t3.length ? this.fragments[this.fragments.length - 1].end : 0; } }, { key: "age", get: function() { return this.advancedDateTime ? Math.max(Date.now() - this.advancedDateTime, 0) / 1e3 : 0; } }, { key: "lastPartIndex", get: function() { var t3; return null != (t3 = this.partList) && t3.length ? this.partList[this.partList.length - 1].index : -1; } }, { key: "lastPartSn", get: function() { var t3; return null != (t3 = this.partList) && t3.length ? this.partList[this.partList.length - 1].fragment.sn : this.endSN; } }]), t2; }(); function V(t2) { return Uint8Array.from(atob(t2), function(t3) { return t3.charCodeAt(0); }); } function Y(t2) { var e2, r3, i3 = t2.split(":"), n2 = null; if ("data" === i3[0] && 2 === i3.length) { var a2 = i3[1].split(";"), s2 = a2[a2.length - 1].split(","); if (2 === s2.length) { var o2 = "base64" === s2[0], l2 = s2[1]; o2 ? (a2.splice(-1, 1), n2 = V(l2)) : (e2 = W(l2).subarray(0, 16), (r3 = new Uint8Array(16)).set(e2, 16 - e2.length), n2 = r3); } } return n2; } function W(t2) { return Uint8Array.from(unescape(encodeURIComponent(t2)), function(t3) { return t3.charCodeAt(0); }); } var j = { CLEARKEY: "org.w3.clearkey", FAIRPLAY: "com.apple.fps", PLAYREADY: "com.microsoft.playready", WIDEVINE: "com.widevine.alpha" }, q = "org.w3.clearkey", X = "com.apple.streamingkeydelivery", z = "com.microsoft.playready", Q = "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"; function $(t2) { switch (t2) { case X: return j.FAIRPLAY; case z: return j.PLAYREADY; case Q: return j.WIDEVINE; case q: return j.CLEARKEY; } } var J = "edef8ba979d64acea3c827dcd51d21ed"; function Z(t2) { switch (t2) { case j.FAIRPLAY: return X; case j.PLAYREADY: return z; case j.WIDEVINE: return Q; case j.CLEARKEY: return q; } } function tt(t2) { var e2 = t2.drmSystems, r3 = t2.widevineLicenseUrl, i3 = e2 ? [j.FAIRPLAY, j.WIDEVINE, j.PLAYREADY, j.CLEARKEY].filter(function(t3) { return !!e2[t3]; }) : []; return !i3[j.WIDEVINE] && r3 && i3.push(j.WIDEVINE), i3; } var et = "undefined" != typeof self && self.navigator && self.navigator.requestMediaKeySystemAccess ? self.navigator.requestMediaKeySystemAccess.bind(self.navigator) : null; function rt(t2, e2, r3) { return Uint8Array.prototype.slice ? t2.slice(e2, r3) : new Uint8Array(Array.prototype.slice.call(t2, e2, r3)); } var it, nt = function(t2, e2) { return e2 + 10 <= t2.length && 73 === t2[e2] && 68 === t2[e2 + 1] && 51 === t2[e2 + 2] && t2[e2 + 3] < 255 && t2[e2 + 4] < 255 && t2[e2 + 6] < 128 && t2[e2 + 7] < 128 && t2[e2 + 8] < 128 && t2[e2 + 9] < 128; }, at = function(t2, e2) { return e2 + 10 <= t2.length && 51 === t2[e2] && 68 === t2[e2 + 1] && 73 === t2[e2 + 2] && t2[e2 + 3] < 255 && t2[e2 + 4] < 255 && t2[e2 + 6] < 128 && t2[e2 + 7] < 128 && t2[e2 + 8] < 128 && t2[e2 + 9] < 128; }, st = function(t2, e2) { for (var r3 = e2, i3 = 0; nt(t2, e2); ) i3 += 10, i3 += ot(t2, e2 + 6), at(t2, e2 + 10) && (i3 += 10), e2 += i3; if (i3 > 0) return t2.subarray(r3, r3 + i3); }, ot = function(t2, e2) { var r3 = 0; return r3 = (127 & t2[e2]) << 21, r3 |= (127 & t2[e2 + 1]) << 14, r3 |= (127 & t2[e2 + 2]) << 7, r3 |= 127 & t2[e2 + 3]; }, lt = function(t2, e2) { return nt(t2, e2) && ot(t2, e2 + 6) + 10 <= t2.length - e2; }, ut = function(t2) { return t2 && "PRIV" === t2.key && "com.apple.streaming.transportStreamTimestamp" === t2.info; }, ht = function(t2) { var e2 = String.fromCharCode(t2[0], t2[1], t2[2], t2[3]), r3 = ot(t2, 4); return { type: e2, size: r3, data: t2.subarray(10, 10 + r3) }; }, dt = function(t2) { for (var e2 = 0, r3 = []; nt(t2, e2); ) { for (var i3 = ot(t2, e2 + 6), n2 = (e2 += 10) + i3; e2 + 8 < n2; ) { var a2 = ht(t2.subarray(e2)), s2 = ct(a2); s2 && r3.push(s2), e2 += a2.size + 10; } at(t2, e2) && (e2 += 10); } return r3; }, ct = function(t2) { return "PRIV" === t2.type ? ft(t2) : "W" === t2.type[0] ? vt(t2) : gt(t2); }, ft = function(t2) { if (!(t2.size < 2)) { var e2 = pt(t2.data, true), r3 = new Uint8Array(t2.data.subarray(e2.length + 1)); return { key: t2.type, info: e2, data: r3.buffer }; } }, gt = function(t2) { if (!(t2.size < 2)) { if ("TXXX" === t2.type) { var e2 = 1, r3 = pt(t2.data.subarray(e2), true); e2 += r3.length + 1; var i3 = pt(t2.data.subarray(e2)); return { key: t2.type, info: r3, data: i3 }; } var n2 = pt(t2.data.subarray(1)); return { key: t2.type, data: n2 }; } }, vt = function(t2) { if ("WXXX" === t2.type) { if (t2.size < 2) return; var e2 = 1, r3 = pt(t2.data.subarray(e2), true); e2 += r3.length + 1; var i3 = pt(t2.data.subarray(e2)); return { key: t2.type, info: r3, data: i3 }; } var n2 = pt(t2.data); return { key: t2.type, data: n2 }; }, mt = function(t2) { if (8 === t2.data.byteLength) { var e2 = new Uint8Array(t2.data), r3 = 1 & e2[3], i3 = (e2[4] << 23) + (e2[5] << 15) + (e2[6] << 7) + e2[7]; return i3 /= 45, r3 && (i3 += 4772185884e-2), Math.round(i3); } }, pt = function(t2, e2) { void 0 === e2 && (e2 = false); var r3 = yt(); if (r3) { var i3 = r3.decode(t2); if (e2) { var n2 = i3.indexOf("\0"); return -1 !== n2 ? i3.substring(0, n2) : i3; } return i3.replace(/\0/g, ""); } for (var a2, s2, o2, l2 = t2.length, u2 = "", h2 = 0; h2 < l2; ) { if (0 === (a2 = t2[h2++]) && e2) return u2; if (0 !== a2 && 3 !== a2) switch (a2 >> 4) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: u2 += String.fromCharCode(a2); break; case 12: case 13: s2 = t2[h2++], u2 += String.fromCharCode((31 & a2) << 6 | 63 & s2); break; case 14: s2 = t2[h2++], o2 = t2[h2++], u2 += String.fromCharCode((15 & a2) << 12 | (63 & s2) << 6 | (63 & o2) << 0); } } return u2; }; function yt() { return it || void 0 === self.TextDecoder || (it = new self.TextDecoder("utf-8")), it; } var Tt = function(t2) { for (var e2 = "", r3 = 0; r3 < t2.length; r3++) { var i3 = t2[r3].toString(16); i3.length < 2 && (i3 = "0" + i3), e2 += i3; } return e2; }, Et = Math.pow(2, 32) - 1, St = [].push, Lt = { video: 1, audio: 2, id3: 3, text: 4 }; function Rt(t2) { return String.fromCharCode.apply(null, t2); } function At(t2, e2) { var r3 = t2[e2] << 8 | t2[e2 + 1]; return r3 < 0 ? 65536 + r3 : r3; } function kt(t2, e2) { var r3 = bt(t2, e2); return r3 < 0 ? 4294967296 + r3 : r3; } function bt(t2, e2) { return t2[e2] << 24 | t2[e2 + 1] << 16 | t2[e2 + 2] << 8 | t2[e2 + 3]; } function Dt(t2, e2, r3) { t2[e2] = r3 >> 24, t2[e2 + 1] = r3 >> 16 & 255, t2[e2 + 2] = r3 >> 8 & 255, t2[e2 + 3] = 255 & r3; } function It(t2, e2) { var r3 = []; if (!e2.length) return r3; for (var i3 = t2.byteLength, n2 = 0; n2 < i3; ) { var a2 = kt(t2, n2), s2 = a2 > 1 ? n2 + a2 : i3; if (Rt(t2.subarray(n2 + 4, n2 + 8)) === e2[0]) if (1 === e2.length) r3.push(t2.subarray(n2 + 8, s2)); else { var o2 = It(t2.subarray(n2 + 8, s2), e2.slice(1)); o2.length && St.apply(r3, o2); } n2 = s2; } return r3; } function wt(t2) { var e2 = [], r3 = t2[0], i3 = 8, n2 = kt(t2, i3); i3 += 4, i3 += 0 === r3 ? 8 : 16, i3 += 2; var a2 = t2.length + 0, s2 = At(t2, i3); i3 += 2; for (var o2 = 0; o2 < s2; o2++) { var l2 = i3, u2 = kt(t2, l2); l2 += 4; var h2 = 2147483647 & u2; if (1 == (2147483648 & u2) >>> 31) return w.warn("SIDX has hierarchical references (not supported)"), null; var d2 = kt(t2, l2); l2 += 4, e2.push({ referenceSize: h2, subsegmentDuration: d2, info: { duration: d2 / n2, start: a2, end: a2 + h2 - 1 } }), a2 += h2, i3 = l2 += 4; } return { earliestPresentationTime: 0, timescale: n2, version: r3, referencesCount: s2, references: e2 }; } function Ct(t2) { for (var e2 = [], r3 = It(t2, ["moov", "trak"]), i3 = 0; i3 < r3.length; i3++) { var n2 = r3[i3], a2 = It(n2, ["tkhd"])[0]; if (a2) { var s2 = a2[0], o2 = 0 === s2 ? 12 : 20, l2 = kt(a2, o2), u2 = It(n2, ["mdia", "mdhd"])[0]; if (u2) { var h2 = kt(u2, o2 = 0 === (s2 = u2[0]) ? 12 : 20), d2 = It(n2, ["mdia", "hdlr"])[0]; if (d2) { var c2 = Rt(d2.subarray(8, 12)), f2 = { soun: O, vide: N }[c2]; if (f2) { var g2 = It(n2, ["mdia", "minf", "stbl", "stsd"])[0], v2 = void 0; g2 && (v2 = Rt(g2.subarray(12, 16))), e2[l2] = { timescale: h2, type: f2 }, e2[f2] = { timescale: h2, id: l2, codec: v2 }; } } } } } return It(t2, ["moov", "mvex", "trex"]).forEach(function(t3) { var r4 = kt(t3, 4), i4 = e2[r4]; i4 && (i4.default = { duration: kt(t3, 12), flags: kt(t3, 20) }); }), e2; } function _t(t2) { var e2 = It(t2, ["schm"])[0]; if (e2) { var r3 = Rt(e2.subarray(4, 8)); if ("cbcs" === r3 || "cenc" === r3) return It(t2, ["schi", "tenc"])[0]; } return w.error("[eme] missing 'schm' box"), null; } function Pt(t2) { var e2 = kt(t2, 0), r3 = 8; 1 & e2 && (r3 += 4), 4 & e2 && (r3 += 4); for (var i3 = 0, n2 = kt(t2, 4), a2 = 0; a2 < n2; a2++) 256 & e2 && (i3 += kt(t2, r3), r3 += 4), 512 & e2 && (r3 += 4), 1024 & e2 && (r3 += 4), 2048 & e2 && (r3 += 4); return i3; } function xt(t2, e2) { var r3 = new Uint8Array(t2.length + e2.length); return r3.set(t2), r3.set(e2, t2.length), r3; } function Ft(t2, e2) { var r3 = [], i3 = e2.samples, n2 = e2.timescale, a2 = e2.id, s2 = false; return It(i3, ["moof"]).map(function(o2) { var l2 = o2.byteOffset - 8; It(o2, ["traf"]).map(function(o3) { var u2 = It(o3, ["tfdt"]).map(function(t3) { var e3 = t3[0], r4 = kt(t3, 4); return 1 === e3 && (r4 *= Math.pow(2, 32), r4 += kt(t3, 8)), r4 / n2; })[0]; return void 0 !== u2 && (t2 = u2), It(o3, ["tfhd"]).map(function(u3) { var h2 = kt(u3, 4), d2 = 16777215 & kt(u3, 0), c2 = 0, f2 = 0 != (16 & d2), g2 = 0, v2 = 0 != (32 & d2), m2 = 8; h2 === a2 && (0 != (1 & d2) && (m2 += 8), 0 != (2 & d2) && (m2 += 4), 0 != (8 & d2) && (c2 = kt(u3, m2), m2 += 4), f2 && (g2 = kt(u3, m2), m2 += 4), v2 && (m2 += 4), "video" === e2.type && (s2 = function(t3) { if (!t3) return false; var e3 = t3.indexOf("."), r4 = e3 < 0 ? t3 : t3.substring(0, e3); return "hvc1" === r4 || "hev1" === r4 || "dvh1" === r4 || "dvhe" === r4; }(e2.codec)), It(o3, ["trun"]).map(function(a3) { var o4 = a3[0], u4 = 16777215 & kt(a3, 0), h3 = 0 != (1 & u4), d3 = 0, f3 = 0 != (4 & u4), v3 = 0 != (256 & u4), m3 = 0, p2 = 0 != (512 & u4), y2 = 0, T2 = 0 != (1024 & u4), E2 = 0 != (2048 & u4), S2 = 0, L2 = kt(a3, 4), R2 = 8; h3 && (d3 = kt(a3, R2), R2 += 4), f3 && (R2 += 4); for (var A2 = d3 + l2, k2 = 0; k2 < L2; k2++) { if (v3 ? (m3 = kt(a3, R2), R2 += 4) : m3 = c2, p2 ? (y2 = kt(a3, R2), R2 += 4) : y2 = g2, T2 && (R2 += 4), E2 && (S2 = 0 === o4 ? kt(a3, R2) : bt(a3, R2), R2 += 4), e2.type === N) for (var b2 = 0; b2 < y2; ) { var D2 = kt(i3, A2); Mt(s2, i3[A2 += 4]) && Ot(i3.subarray(A2, A2 + D2), s2 ? 2 : 1, t2 + S2 / n2, r3), A2 += D2, b2 += D2 + 4; } t2 += m3 / n2; } })); }); }); }), r3; } function Mt(t2, e2) { if (t2) { var r3 = e2 >> 1 & 63; return 39 === r3 || 40 === r3; } return 6 == (31 & e2); } function Ot(t2, e2, r3, i3) { var n2 = Nt(t2), a2 = 0; a2 += e2; for (var s2 = 0, o2 = 0, l2 = false, u2 = 0; a2 < n2.length; ) { s2 = 0; do { if (a2 >= n2.length) break; s2 += u2 = n2[a2++]; } while (255 === u2); o2 = 0; do { if (a2 >= n2.length) break; o2 += u2 = n2[a2++]; } while (255 === u2); var h2 = n2.length - a2; if (!l2 && 4 === s2 && a2 < n2.length) { if (l2 = true, 181 === n2[a2++]) { var d2 = At(n2, a2); if (a2 += 2, 49 === d2) { var c2 = kt(n2, a2); if (a2 += 4, 1195456820 === c2) { var f2 = n2[a2++]; if (3 === f2) { var g2 = n2[a2++], v2 = 64 & g2, m2 = v2 ? 2 + 3 * (31 & g2) : 0, p2 = new Uint8Array(m2); if (v2) { p2[0] = g2; for (var y2 = 1; y2 < m2; y2++) p2[y2] = n2[a2++]; } i3.push({ type: f2, payloadType: s2, pts: r3, bytes: p2 }); } } } } } else if (5 === s2 && o2 < h2) { if (l2 = true, o2 > 16) { for (var T2 = [], E2 = 0; E2 < 16; E2++) { var S2 = n2[a2++].toString(16); T2.push(1 == S2.length ? "0" + S2 : S2), 3 !== E2 && 5 !== E2 && 7 !== E2 && 9 !== E2 || T2.push("-"); } for (var L2 = o2 - 16, R2 = new Uint8Array(L2), A2 = 0; A2 < L2; A2++) R2[A2] = n2[a2++]; i3.push({ payloadType: s2, pts: r3, uuid: T2.join(""), userData: pt(R2), userDataBytes: R2 }); } } else if (o2 < h2) a2 += o2; else if (o2 > h2) break; } } function Nt(t2) { for (var e2 = t2.byteLength, r3 = [], i3 = 1; i3 < e2 - 2; ) 0 === t2[i3] && 0 === t2[i3 + 1] && 3 === t2[i3 + 2] ? (r3.push(i3 + 2), i3 += 2) : i3++; if (0 === r3.length) return t2; var n2 = e2 - r3.length, a2 = new Uint8Array(n2), s2 = 0; for (i3 = 0; i3 < n2; s2++, i3++) s2 === r3[0] && (s2++, r3.shift()), a2[i3] = t2[s2]; return a2; } function Ut(t2, e2, r3) { if (16 !== t2.byteLength) throw new RangeError("Invalid system id"); var i3, n2, a2; i3 = 0, n2 = new Uint8Array(); i3 > 0 ? (a2 = new Uint8Array(4), e2.length > 0 && new DataView(a2.buffer).setUint32(0, e2.length, false)) : a2 = new Uint8Array(); var l2 = new Uint8Array(4); return r3 && r3.byteLength > 0 && new DataView(l2.buffer).setUint32(0, r3.byteLength, false), function(t3) { for (var e3 = arguments.length, r4 = new Array(e3 > 1 ? e3 - 1 : 0), i4 = 1; i4 < e3; i4++) r4[i4 - 1] = arguments[i4]; for (var n3 = r4.length, a3 = 8, s2 = n3; s2--; ) a3 += r4[s2].byteLength; var o2 = new Uint8Array(a3); for (o2[0] = a3 >> 24 & 255, o2[1] = a3 >> 16 & 255, o2[2] = a3 >> 8 & 255, o2[3] = 255 & a3, o2.set(t3, 4), s2 = 0, a3 = 8; s2 < n3; s2++) o2.set(r4[s2], a3), a3 += r4[s2].byteLength; return o2; }([112, 115, 115, 104], new Uint8Array([i3, 0, 0, 0]), t2, a2, n2, l2, r3 || new Uint8Array()); } var Bt = {}, Gt = function() { function t2(t3, e3, r3, i3, n2) { void 0 === i3 && (i3 = [1]), void 0 === n2 && (n2 = null), this.uri = void 0, this.method = void 0, this.keyFormat = void 0, this.keyFormatVersions = void 0, this.encrypted = void 0, this.isCommonEncryption = void 0, this.iv = null, this.key = null, this.keyId = null, this.pssh = null, this.method = t3, this.uri = e3, this.keyFormat = r3, this.keyFormatVersions = i3, this.iv = n2, this.encrypted = !!t3 && "NONE" !== t3, this.isCommonEncryption = this.encrypted && "AES-128" !== t3; } t2.clearKeyUriToKeyIdMap = function() { Bt = {}; }; var e2 = t2.prototype; return e2.isSupported = function() { if (this.method) { if ("AES-128" === this.method || "NONE" === this.method) return true; if ("identity" === this.keyFormat) return "SAMPLE-AES" === this.method; switch (this.keyFormat) { case X: case Q: case z: case q: return -1 !== ["ISO-23001-7", "SAMPLE-AES", "SAMPLE-AES-CENC", "SAMPLE-AES-CTR"].indexOf(this.method); } } return false; }, e2.getDecryptData = function(e3) { if (!this.encrypted || !this.uri) return null; if ("AES-128" === this.method && this.uri && !this.iv) { "number" != typeof e3 && ("AES-128" !== this.method || this.iv || w.warn('missing IV for initialization segment with method="' + this.method + '" - compliance issue'), e3 = 0); var r3 = function(t3) { for (var e4 = new Uint8Array(16), r4 = 12; r4 < 16; r4++) e4[r4] = t3 >> 8 * (15 - r4) & 255; return e4; }(e3); return new t2(this.method, this.uri, "identity", this.keyFormatVersions, r3); } var i3 = Y(this.uri); if (i3) switch (this.keyFormat) { case Q: this.pssh = i3, i3.length >= 22 && (this.keyId = i3.subarray(i3.length - 22, i3.length - 6)); break; case z: var n2 = new Uint8Array([154, 4, 240, 121, 152, 64, 66, 134, 171, 146, 230, 91, 224, 136, 95, 149]); this.pssh = Ut(n2, null, i3); var a2 = new Uint16Array(i3.buffer, i3.byteOffset, i3.byteLength / 2), s2 = String.fromCharCode.apply(null, Array.from(a2)), o2 = s2.substring(s2.indexOf("<"), s2.length), l2 = new DOMParser().parseFromString(o2, "text/xml").getElementsByTagName("KID")[0]; if (l2) { var u2 = l2.childNodes[0] ? l2.childNodes[0].nodeValue : l2.getAttribute("VALUE"); if (u2) { var h2 = V(u2).subarray(0, 16); !function(t3) { var e4 = function(t4, e5, r4) { var i4 = t4[e5]; t4[e5] = t4[r4], t4[r4] = i4; }; e4(t3, 0, 3), e4(t3, 1, 2), e4(t3, 4, 5), e4(t3, 6, 7); }(h2), this.keyId = h2; } } break; default: var d2 = i3.subarray(0, 16); if (16 !== d2.length) { var c2 = new Uint8Array(16); c2.set(d2, 16 - d2.length), d2 = c2; } this.keyId = d2; } if (!this.keyId || 16 !== this.keyId.byteLength) { var f2 = Bt[this.uri]; if (!f2) { var g2 = Object.keys(Bt).length % Number.MAX_SAFE_INTEGER; f2 = new Uint8Array(16), new DataView(f2.buffer, 12, 4).setUint32(0, g2), Bt[this.uri] = f2; } this.keyId = f2; } return this; }, t2; }(), Kt = /\{\$([a-zA-Z0-9-_]+)\}/g; function Ht(t2) { return Kt.test(t2); } function Vt(t2, e2, r3) { if (null !== t2.variableList || t2.hasVariableRefs) for (var i3 = r3.length; i3--; ) { var n2 = r3[i3], a2 = e2[n2]; a2 && (e2[n2] = Yt(t2, a2)); } } function Yt(t2, e2) { if (null !== t2.variableList || t2.hasVariableRefs) { var r3 = t2.variableList; return e2.replace(Kt, function(e3) { var i3 = e3.substring(2, e3.length - 1), n2 = null == r3 ? void 0 : r3[i3]; return void 0 === n2 ? (t2.playlistParsingError || (t2.playlistParsingError = new Error('Missing preceding EXT-X-DEFINE tag for Variable Reference: "' + i3 + '"')), e3) : n2; }); } return e2; } function Wt(t2, e2, r3) { var i3, n2, a2 = t2.variableList; if (a2 || (t2.variableList = a2 = {}), "QUERYPARAM" in e2) { i3 = e2.QUERYPARAM; try { var s2 = new self.URL(r3).searchParams; if (!s2.has(i3)) throw new Error('"' + i3 + '" does not match any query parameter in URI: "' + r3 + '"'); n2 = s2.get(i3); } catch (e3) { t2.playlistParsingError || (t2.playlistParsingError = new Error("EXT-X-DEFINE QUERYPARAM: " + e3.message)); } } else i3 = e2.NAME, n2 = e2.VALUE; i3 in a2 ? t2.playlistParsingError || (t2.playlistParsingError = new Error('EXT-X-DEFINE duplicate Variable Name declarations: "' + i3 + '"')) : a2[i3] = n2 || ""; } function jt(t2, e2, r3) { var i3 = e2.IMPORT; if (r3 && i3 in r3) { var n2 = t2.variableList; n2 || (t2.variableList = n2 = {}), n2[i3] = r3[i3]; } else t2.playlistParsingError || (t2.playlistParsingError = new Error('EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "' + i3 + '"')); } function qt() { if ("undefined" != typeof self) return self.MediaSource || self.WebKitMediaSource; } var Xt = { au