{
  "version": 3,
  "sources": ["../src/base.ts", "../src/env.ts", "../src/assets/mux-logo.ts"],
  "sourcesContent": ["import {\n  initialize,\n  teardown,\n  generatePlayerInitTime,\n  MuxMediaProps,\n  StreamTypes,\n  PlaybackTypes,\n  toMuxVideoURL,\n  Metadata,\n  MediaError,\n  getError,\n  CmcdTypes,\n  CmcdTypeValues,\n  addCuePoints,\n  getCuePoints,\n  getActiveCuePoint,\n  addChapters,\n  getActiveChapter,\n  getMetadata,\n  getStartDate,\n  getCurrentPdt,\n  getStreamType,\n  getTargetLiveWindow,\n  getLiveEdgeStart,\n  getSeekable,\n  getEnded,\n  getChapters,\n  toPlaybackIdFromSrc,\n  toPlaybackIdParts,\n  getCoreReference,\n  // isMuxVideoSrc,\n} from '@mux/playback-core';\nimport type {\n  PlaybackCore,\n  PlaybackEngine,\n  ExtensionMimeTypeMap,\n  ValueOf,\n  MaxResolutionValue,\n  MinResolutionValue,\n  RenditionOrderValue,\n  MaxAutoResolutionValue,\n  Chapter,\n  CuePoint,\n  Tokens,\n} from '@mux/playback-core';\nimport { getPlayerVersion } from './env';\n// this must be imported after playback-core for the polyfill to be included\nimport { CustomVideoElement, Events } from 'custom-media-element';\nimport type { HlsConfig } from 'hls.js';\nimport { muxLogo } from './assets/mux-logo.js';\nimport type { IMuxVideoBaseElement } from './types.js';\n\nexport * from './types.js';\n\nexport const Attributes = {\n  BEACON_COLLECTION_DOMAIN: 'beacon-collection-domain',\n  CUSTOM_DOMAIN: 'custom-domain',\n  DEBUG: 'debug',\n  DISABLE_TRACKING: 'disable-tracking',\n  DISABLE_COOKIES: 'disable-cookies',\n  DISABLE_PSEUDO_ENDED: 'disable-pseudo-ended',\n  DRM_TOKEN: 'drm-token',\n  PLAYBACK_TOKEN: 'playback-token',\n  ENV_KEY: 'env-key',\n  MAX_RESOLUTION: 'max-resolution',\n  MIN_RESOLUTION: 'min-resolution',\n  MAX_AUTO_RESOLUTION: 'max-auto-resolution',\n  RENDITION_ORDER: 'rendition-order',\n  PROGRAM_START_TIME: 'program-start-time',\n  PROGRAM_END_TIME: 'program-end-time',\n  ASSET_START_TIME: 'asset-start-time',\n  ASSET_END_TIME: 'asset-end-time',\n  METADATA_URL: 'metadata-url',\n  PLAYBACK_ID: 'playback-id',\n  PLAYER_SOFTWARE_NAME: 'player-software-name',\n  PLAYER_SOFTWARE_VERSION: 'player-software-version',\n  PLAYER_INIT_TIME: 'player-init-time',\n  PREFER_CMCD: 'prefer-cmcd',\n  PREFER_PLAYBACK: 'prefer-playback',\n  START_TIME: 'start-time',\n  STREAM_TYPE: 'stream-type',\n  TARGET_LIVE_WINDOW: 'target-live-window',\n  LIVE_EDGE_OFFSET: 'live-edge-offset',\n  TYPE: 'type',\n  LOGO: 'logo',\n  CAP_RENDITION_TO_PLAYER_SIZE: 'cap-rendition-to-player-size',\n} as const;\n\nconst AttributeNameValues = Object.values(Attributes);\n\nexport const playerSoftwareVersion = getPlayerVersion();\nexport const playerSoftwareName = 'mux-video';\n\nexport class MuxVideoBaseElement extends CustomVideoElement implements IMuxVideoBaseElement {\n  static get NAME() {\n    return playerSoftwareName;\n  }\n\n  static get VERSION() {\n    return playerSoftwareVersion;\n  }\n\n  static get observedAttributes() {\n    return [...AttributeNameValues, ...(CustomVideoElement.observedAttributes ?? [])];\n  }\n\n  #loadRequested?: Promise<void> | null;\n  #defaultPlayerInitTime: number | undefined;\n  #metadata: Metadata = {};\n  #tokens: Tokens = {};\n  #_hlsConfig?: Partial<HlsConfig>;\n  #playerSoftwareVersion?: string;\n  #playerSoftwareName?: string;\n  #errorTranslator?: (errorEvent: any) => any;\n  #logo: string = '';\n\n  #muxmetadataHandler = (_event: Event) => {\n    const fetchedMetadata = getMetadata(this.nativeEl);\n    const userMetadata = this.metadata ?? {};\n\n    // User metadata takes precedence over fetched metadata...\n    this.metadata = {\n      ...fetchedMetadata,\n      ...userMetadata,\n    };\n\n    // ...except for the free plan branding metadata\n    if ((fetchedMetadata as any)?.['com.mux.video.branding'] === 'mux-free-plan') {\n      this.#logo = 'default';\n      this.updateLogo();\n    }\n  };\n\n  static getLogoHTML(logoValue: string | null) {\n    if (!logoValue || logoValue === 'false') return '';\n    return logoValue === 'default' ? muxLogo : `<img part=\"logo\" src=\"${logoValue}\" />`;\n  }\n\n  static getTemplateHTML(attrs: Record<string, string> = {}) {\n    return /* html */ `\n      ${CustomVideoElement.getTemplateHTML(attrs)}\n      <style>\n        :host {\n          position: relative;\n        }\n        slot[name=\"logo\"] {\n          display: flex;\n          justify-content: end;\n          position: absolute;\n          top: 1rem;\n          right: 1rem;\n          opacity: 0;\n          transition: opacity 0.25s ease-in-out;\n          z-index: 1;\n        }\n        slot[name=\"logo\"]:has([part=\"logo\"]) {\n          opacity: 1;\n        }\n        slot[name=\"logo\"] [part=\"logo\"] {\n          width: 5rem;\n          pointer-events: none;\n          user-select: none;\n        }\n      </style>\n      <slot name=\"logo\">\n        ${this.getLogoHTML(attrs[Attributes.LOGO] ?? '')}\n      </slot>\n    `;\n  }\n\n  constructor() {\n    super();\n    this.#defaultPlayerInitTime = generatePlayerInitTime();\n  }\n\n  get #core(): PlaybackCore | undefined {\n    return getCoreReference(this.nativeEl);\n  }\n\n  get preferCmcd() {\n    return (this.getAttribute(Attributes.PREFER_CMCD) as ValueOf<CmcdTypes>) ?? undefined;\n  }\n\n  set preferCmcd(value: ValueOf<CmcdTypes> | undefined) {\n    if (value === this.preferCmcd) return;\n    if (!value) {\n      this.removeAttribute(Attributes.PREFER_CMCD);\n    } else if (CmcdTypeValues.includes(value)) {\n      this.setAttribute(Attributes.PREFER_CMCD, value);\n    } else {\n      console.warn(`Invalid value for preferCmcd. Must be one of ${CmcdTypeValues.join()}`);\n    }\n  }\n\n  get playerInitTime() {\n    if (!this.hasAttribute(Attributes.PLAYER_INIT_TIME)) return this.#defaultPlayerInitTime;\n    return +(this.getAttribute(Attributes.PLAYER_INIT_TIME) as string) as number;\n  }\n\n  set playerInitTime(val) {\n    // don't cause an infinite loop and avoid change event dispatching\n    if (val == this.playerInitTime) return;\n\n    if (val == null) {\n      this.removeAttribute(Attributes.PLAYER_INIT_TIME);\n    } else {\n      this.setAttribute(Attributes.PLAYER_INIT_TIME, `${+val}`);\n    }\n  }\n\n  get playerSoftwareName() {\n    return this.#playerSoftwareName ?? playerSoftwareName;\n  }\n\n  set playerSoftwareName(value: string | undefined) {\n    this.#playerSoftwareName = value;\n  }\n\n  get playerSoftwareVersion() {\n    return this.#playerSoftwareVersion ?? playerSoftwareVersion;\n  }\n\n  set playerSoftwareVersion(value: string | undefined) {\n    this.#playerSoftwareVersion = value;\n  }\n\n  // Keeping this named \"_hls\" since it's exposed for unadvertised \"advanced usage\" via getter that assumes specifically hls.js (CJP)\n  get _hls(): PlaybackEngine | undefined {\n    return this.#core?.engine;\n  }\n\n  get mux(): Readonly<HTMLVideoElement['mux']> | undefined {\n    return this.nativeEl?.mux;\n  }\n\n  get error() {\n    return getError(this.nativeEl) ?? null;\n  }\n\n  get errorTranslator(): ((errorEvent: any) => any) | undefined {\n    return this.#errorTranslator;\n  }\n\n  set errorTranslator(value: ((errorEvent: any) => any) | undefined) {\n    this.#errorTranslator = value;\n  }\n\n  get src() {\n    // Use the attribute value as the source of truth.\n    // No need to store it in two places.\n    // This avoids needing a to read the attribute initially and update the src.\n    return this.getAttribute('src') as string;\n  }\n\n  set src(val: string) {\n    // If being set by attributeChangedCallback,\n    // dont' cause an infinite loop\n    if (val === this.src) return;\n\n    if (val == null) {\n      this.removeAttribute('src');\n    } else {\n      this.setAttribute('src', val);\n    }\n  }\n\n  get type(): ValueOf<ExtensionMimeTypeMap> | undefined {\n    return (this.getAttribute(Attributes.TYPE) as ValueOf<ExtensionMimeTypeMap>) ?? undefined;\n  }\n\n  set type(val: ValueOf<ExtensionMimeTypeMap> | undefined) {\n    // dont' cause an infinite loop\n    if (val === this.type) return;\n\n    if (val) {\n      this.setAttribute(Attributes.TYPE, val);\n    } else {\n      this.removeAttribute(Attributes.TYPE);\n    }\n  }\n\n  get preload() {\n    const val = this.getAttribute('preload') as HTMLMediaElement['preload'];\n    if (val === '') return 'auto';\n    if (['none', 'metadata', 'auto'].includes(val)) return val;\n    return super.preload;\n  }\n\n  set preload(val) {\n    // don't cause an infinite loop\n    // check the attribute because an empty string maps to the `auto` prop\n    if (val == this.getAttribute('preload')) return;\n\n    if (['', 'none', 'metadata', 'auto'].includes(val)) {\n      this.setAttribute('preload', val);\n    } else {\n      this.removeAttribute('preload');\n    }\n  }\n\n  get debug() {\n    return this.getAttribute(Attributes.DEBUG) != null;\n  }\n\n  set debug(val) {\n    // dont' cause an infinite loop\n    if (val === this.debug) return;\n\n    if (val) {\n      this.setAttribute(Attributes.DEBUG, '');\n    } else {\n      this.removeAttribute(Attributes.DEBUG);\n    }\n  }\n\n  get disableTracking() {\n    return this.hasAttribute(Attributes.DISABLE_TRACKING);\n  }\n\n  set disableTracking(val) {\n    // dont' cause an infinite loop\n    if (val === this.disableTracking) return;\n\n    this.toggleAttribute(Attributes.DISABLE_TRACKING, !!val);\n  }\n\n  get disableCookies() {\n    return this.hasAttribute(Attributes.DISABLE_COOKIES);\n  }\n\n  set disableCookies(val) {\n    // dont' cause an infinite loop\n    if (val === this.disableCookies) return;\n\n    if (val) {\n      this.setAttribute(Attributes.DISABLE_COOKIES, '');\n    } else {\n      this.removeAttribute(Attributes.DISABLE_COOKIES);\n    }\n  }\n\n  get disablePseudoEnded() {\n    return this.hasAttribute(Attributes.DISABLE_PSEUDO_ENDED);\n  }\n\n  set disablePseudoEnded(val) {\n    // dont' cause an infinite loop\n    if (val === this.disablePseudoEnded) return;\n\n    if (val) {\n      this.setAttribute(Attributes.DISABLE_PSEUDO_ENDED, '');\n    } else {\n      this.removeAttribute(Attributes.DISABLE_PSEUDO_ENDED);\n    }\n  }\n\n  get startTime(): number | undefined {\n    const val = this.getAttribute(Attributes.START_TIME);\n    if (val == null) return undefined;\n    const num = +val;\n    return !Number.isNaN(num) ? num : undefined;\n  }\n\n  set startTime(val: number | undefined) {\n    // dont' cause an infinite loop\n    if (val === this.startTime) return;\n\n    if (val == null) {\n      this.removeAttribute(Attributes.START_TIME);\n    } else {\n      this.setAttribute(Attributes.START_TIME, `${val}`);\n    }\n  }\n\n  // NOTE: playbackId may contain additional query params (e.g. token= for playback token) (CJP)\n  get playbackId(): string | undefined {\n    if (this.hasAttribute(Attributes.PLAYBACK_ID)) {\n      return this.getAttribute(Attributes.PLAYBACK_ID) as string;\n    }\n\n    return toPlaybackIdFromSrc(this.src) ?? undefined;\n  }\n\n  set playbackId(val: string | undefined) {\n    // dont' cause an infinite loop\n    if (val === this.playbackId) return;\n\n    if (val) {\n      this.setAttribute(Attributes.PLAYBACK_ID, val);\n    } else {\n      this.removeAttribute(Attributes.PLAYBACK_ID);\n    }\n  }\n\n  get maxResolution() {\n    return (this.getAttribute(Attributes.MAX_RESOLUTION) as MaxResolutionValue) ?? undefined;\n  }\n\n  set maxResolution(val: MaxResolutionValue | undefined) {\n    if (val === this.maxResolution) return;\n\n    if (val) {\n      this.setAttribute(Attributes.MAX_RESOLUTION, val);\n    } else {\n      this.removeAttribute(Attributes.MAX_RESOLUTION);\n    }\n  }\n\n  get minResolution() {\n    return (this.getAttribute(Attributes.MIN_RESOLUTION) as MinResolutionValue) ?? undefined;\n  }\n\n  set minResolution(val: MinResolutionValue | undefined) {\n    if (val === this.minResolution) return;\n\n    if (val) {\n      this.setAttribute(Attributes.MIN_RESOLUTION, val);\n    } else {\n      this.removeAttribute(Attributes.MIN_RESOLUTION);\n    }\n  }\n\n  get maxAutoResolution() {\n    return (this.getAttribute(Attributes.MAX_AUTO_RESOLUTION) as MaxAutoResolutionValue) ?? undefined;\n  }\n\n  set maxAutoResolution(val: MaxAutoResolutionValue | undefined) {\n    if (val == undefined) {\n      this.removeAttribute(Attributes.MAX_AUTO_RESOLUTION);\n    } else {\n      this.setAttribute(Attributes.MAX_AUTO_RESOLUTION, val);\n    }\n  }\n\n  get renditionOrder() {\n    return (this.getAttribute(Attributes.RENDITION_ORDER) as RenditionOrderValue) ?? undefined;\n  }\n\n  set renditionOrder(val: RenditionOrderValue | undefined) {\n    if (val === this.renditionOrder) return;\n\n    if (val) {\n      this.setAttribute(Attributes.RENDITION_ORDER, val);\n    } else {\n      this.removeAttribute(Attributes.RENDITION_ORDER);\n    }\n  }\n\n  get programStartTime() {\n    const val = this.getAttribute(Attributes.PROGRAM_START_TIME);\n    if (val == null) return undefined;\n    const num = +val;\n    return !Number.isNaN(num) ? num : undefined;\n  }\n\n  set programStartTime(val: number | undefined) {\n    if (val == undefined) {\n      this.removeAttribute(Attributes.PROGRAM_START_TIME);\n    } else {\n      this.setAttribute(Attributes.PROGRAM_START_TIME, `${val}`);\n    }\n  }\n\n  get programEndTime() {\n    const val = this.getAttribute(Attributes.PROGRAM_END_TIME);\n    if (val == null) return undefined;\n    const num = +val;\n    return !Number.isNaN(num) ? num : undefined;\n  }\n\n  set programEndTime(val: number | undefined) {\n    if (val == undefined) {\n      this.removeAttribute(Attributes.PROGRAM_END_TIME);\n    } else {\n      this.setAttribute(Attributes.PROGRAM_END_TIME, `${val}`);\n    }\n  }\n\n  get assetStartTime() {\n    const val = this.getAttribute(Attributes.ASSET_START_TIME);\n    if (val == null) return undefined;\n    const num = +val;\n    return !Number.isNaN(num) ? num : undefined;\n  }\n\n  set assetStartTime(val: number | undefined) {\n    if (val == undefined) {\n      this.removeAttribute(Attributes.ASSET_START_TIME);\n    } else {\n      this.setAttribute(Attributes.ASSET_START_TIME, `${val}`);\n    }\n  }\n\n  get assetEndTime() {\n    const val = this.getAttribute(Attributes.ASSET_END_TIME);\n    if (val == null) return undefined;\n    const num = +val;\n    return !Number.isNaN(num) ? num : undefined;\n  }\n\n  set assetEndTime(val: number | undefined) {\n    if (val == undefined) {\n      this.removeAttribute(Attributes.ASSET_END_TIME);\n    } else {\n      this.setAttribute(Attributes.ASSET_END_TIME, `${val}`);\n    }\n  }\n\n  get customDomain() {\n    return this.getAttribute(Attributes.CUSTOM_DOMAIN) ?? undefined;\n  }\n\n  set customDomain(val: string | undefined) {\n    // dont' cause an infinite loop\n    if (val === this.customDomain) return;\n\n    if (val) {\n      this.setAttribute(Attributes.CUSTOM_DOMAIN, val);\n    } else {\n      this.removeAttribute(Attributes.CUSTOM_DOMAIN);\n    }\n  }\n\n  /** Keeps track of attribute status */\n  #capRenditionToPlayerSize: boolean | undefined = undefined;\n  /** Returns capRenditionToPlayerSize based on its attribute and {@link _hlsConfig} */\n  get capRenditionToPlayerSize(): boolean | undefined {\n    if (this._hlsConfig?.capLevelToPlayerSize != undefined) {\n      return this._hlsConfig.capLevelToPlayerSize;\n    }\n    return this.#capRenditionToPlayerSize;\n  }\n\n  set capRenditionToPlayerSize(val: boolean | undefined) {\n    this.#capRenditionToPlayerSize = val;\n  }\n\n  get drmToken() {\n    return this.getAttribute(Attributes.DRM_TOKEN) ?? undefined;\n  }\n\n  set drmToken(val: string | undefined) {\n    // dont' cause an infinite loop\n    if (val === this.drmToken) return;\n\n    if (val) {\n      this.setAttribute(Attributes.DRM_TOKEN, val);\n    } else {\n      this.removeAttribute(Attributes.DRM_TOKEN);\n    }\n  }\n\n  /**\n   * Get the playback token for signing the src URL.\n   */\n  get playbackToken() {\n    if (this.hasAttribute(Attributes.PLAYBACK_TOKEN)) {\n      return this.getAttribute(Attributes.PLAYBACK_TOKEN) ?? undefined;\n    }\n    if (this.hasAttribute(Attributes.PLAYBACK_ID)) {\n      const [, queryParts] = toPlaybackIdParts(this.playbackId ?? '');\n      return new URLSearchParams(queryParts).get('token') ?? undefined;\n    }\n    if (this.src) {\n      return new URLSearchParams(this.src).get('token') ?? undefined;\n    }\n    return undefined;\n  }\n\n  /**\n   * Set the playback token for signing the src URL.\n   */\n  set playbackToken(val: string | undefined) {\n    if (val === this.playbackToken) return;\n\n    if (val) {\n      this.setAttribute(Attributes.PLAYBACK_TOKEN, val);\n    } else {\n      this.removeAttribute(Attributes.PLAYBACK_TOKEN);\n    }\n  }\n\n  get tokens() {\n    const playback = this.getAttribute(Attributes.PLAYBACK_TOKEN);\n    const drm = this.getAttribute(Attributes.DRM_TOKEN);\n    return {\n      ...this.#tokens,\n      ...(playback != null ? { playback } : {}),\n      ...(drm != null ? { drm } : {}),\n    };\n  }\n\n  set tokens(val) {\n    this.#tokens = val ?? {};\n  }\n\n  get ended() {\n    // This ensures that edge case media that doesn't properly end will\n    // still announce itself as \"ended\".\n    return getEnded(this.nativeEl, this._hls);\n  }\n\n  get envKey(): string | undefined {\n    return this.getAttribute(Attributes.ENV_KEY) ?? undefined;\n  }\n\n  set envKey(val: string | undefined) {\n    // dont' cause an infinite loop\n    if (val === this.envKey) return;\n\n    if (val) {\n      this.setAttribute(Attributes.ENV_KEY, val);\n    } else {\n      this.removeAttribute(Attributes.ENV_KEY);\n    }\n  }\n\n  get beaconCollectionDomain(): string | undefined {\n    return this.getAttribute(Attributes.BEACON_COLLECTION_DOMAIN) ?? undefined;\n  }\n\n  set beaconCollectionDomain(val: string | undefined) {\n    // don't cause an infinite loop\n    if (val === this.beaconCollectionDomain) return;\n\n    if (val) {\n      this.setAttribute(Attributes.BEACON_COLLECTION_DOMAIN, val);\n    } else {\n      this.removeAttribute(Attributes.BEACON_COLLECTION_DOMAIN);\n    }\n  }\n\n  get streamType(): ValueOf<StreamTypes> | undefined {\n    // Allow overriding inferred `streamType`\n    return (this.getAttribute(Attributes.STREAM_TYPE) as ValueOf<StreamTypes>) ?? getStreamType(this.nativeEl);\n  }\n\n  set streamType(val: ValueOf<StreamTypes> | undefined) {\n    // don't cause an infinite loop and avoid change event dispatching\n    if (val === this.streamType) return;\n\n    if (val) {\n      this.setAttribute(Attributes.STREAM_TYPE, val);\n    } else {\n      this.removeAttribute(Attributes.STREAM_TYPE);\n    }\n  }\n\n  get targetLiveWindow() {\n    // Allow overriding inferred `targetLiveWindow`\n    if (this.hasAttribute(Attributes.TARGET_LIVE_WINDOW)) {\n      return +(this.getAttribute(Attributes.TARGET_LIVE_WINDOW) as string) as number;\n    }\n    return getTargetLiveWindow(this.nativeEl);\n  }\n\n  set targetLiveWindow(val: number | undefined) {\n    // don't cause an infinite loop and avoid change event dispatching\n    if (val == this.targetLiveWindow) return;\n\n    if (val == null) {\n      this.removeAttribute(Attributes.TARGET_LIVE_WINDOW);\n    } else {\n      this.setAttribute(Attributes.TARGET_LIVE_WINDOW, `${+val}`);\n    }\n  }\n\n  get liveEdgeStart() {\n    if (this.hasAttribute(Attributes.LIVE_EDGE_OFFSET)) {\n      const { liveEdgeOffset } = this;\n      const seekableEnd = this.nativeEl.seekable.end(0) ?? 0;\n      const seekableStart = this.nativeEl.seekable.start(0) ?? 0;\n      return Math.max(seekableStart, seekableEnd - (liveEdgeOffset as number));\n    }\n    return getLiveEdgeStart(this.nativeEl);\n  }\n\n  get liveEdgeOffset() {\n    if (!this.hasAttribute(Attributes.LIVE_EDGE_OFFSET)) return undefined;\n    return +(this.getAttribute(Attributes.LIVE_EDGE_OFFSET) as string) as number;\n  }\n\n  set liveEdgeOffset(val: number | undefined) {\n    // don't cause an infinite loop and avoid change event dispatching\n    if (val == this.liveEdgeOffset) return;\n\n    if (val == null) {\n      this.removeAttribute(Attributes.LIVE_EDGE_OFFSET);\n    } else {\n      this.setAttribute(Attributes.LIVE_EDGE_OFFSET, `${+val}`);\n    }\n  }\n\n  get seekable() {\n    return getSeekable(this.nativeEl);\n  }\n\n  async addCuePoints<T = any>(cuePoints: CuePoint<T>[]) {\n    return addCuePoints(this.nativeEl, cuePoints);\n  }\n\n  get activeCuePoint() {\n    return getActiveCuePoint(this.nativeEl);\n  }\n\n  get cuePoints() {\n    return getCuePoints(this.nativeEl);\n  }\n\n  async addChapters(chapters: Chapter[]) {\n    return addChapters(this.nativeEl, chapters);\n  }\n\n  get activeChapter() {\n    return getActiveChapter(this.nativeEl);\n  }\n\n  get chapters() {\n    return getChapters(this.nativeEl);\n  }\n\n  getStartDate() {\n    return getStartDate(this.nativeEl, this._hls);\n  }\n\n  get currentPdt() {\n    return getCurrentPdt(this.nativeEl, this._hls);\n  }\n\n  get preferPlayback(): ValueOf<PlaybackTypes> | undefined {\n    const val = this.getAttribute(Attributes.PREFER_PLAYBACK);\n    if (val === PlaybackTypes.MSE || val === PlaybackTypes.NATIVE) return val;\n    return undefined;\n  }\n\n  set preferPlayback(val: ValueOf<PlaybackTypes> | undefined) {\n    if (val === this.preferPlayback) return;\n\n    if (val === PlaybackTypes.MSE || val === PlaybackTypes.NATIVE) {\n      this.setAttribute(Attributes.PREFER_PLAYBACK, val);\n    } else {\n      this.removeAttribute(Attributes.PREFER_PLAYBACK);\n    }\n  }\n\n  get metadata() {\n    const inferredMetadataAttrs: { [key: string]: string } = this.getAttributeNames()\n      .filter((attrName) => {\n        return attrName.startsWith('metadata-') && !([Attributes.METADATA_URL] as string[]).includes(attrName);\n      })\n      .reduce(\n        (currAttrs, attrName) => {\n          const value = this.getAttribute(attrName);\n          if (value != null) {\n            currAttrs[attrName.replace(/^metadata-/, '').replace(/-/g, '_') as string] = value;\n          }\n          return currAttrs;\n        },\n        {} as { [key: string]: string }\n      );\n\n    return {\n      ...inferredMetadataAttrs,\n      ...this.#metadata,\n    };\n  }\n\n  set metadata(val: Readonly<Metadata> | undefined) {\n    this.#metadata = val ?? {};\n    if (!!this.mux) {\n      this.mux.emit('hb', this.#metadata);\n    }\n  }\n\n  get _hlsConfig() {\n    return this.#_hlsConfig;\n  }\n\n  set _hlsConfig(val: Readonly<Partial<HlsConfig>> | undefined) {\n    this.#_hlsConfig = val;\n  }\n\n  get logo() {\n    return this.getAttribute(Attributes.LOGO) ?? this.#logo;\n  }\n\n  set logo(val) {\n    if (val) {\n      this.setAttribute(Attributes.LOGO, val);\n    } else {\n      this.removeAttribute(Attributes.LOGO);\n    }\n  }\n\n  async #requestLoad() {\n    if (this.#loadRequested) return;\n    await (this.#loadRequested = Promise.resolve());\n    this.#loadRequested = null;\n    this.load();\n  }\n\n  load() {\n    initialize(this as Partial<MuxMediaProps>, this.nativeEl, this.#core);\n  }\n\n  unload() {\n    teardown(this.nativeEl, this.#core, this as Partial<MuxMediaProps>);\n  }\n\n  attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null) {\n    // Only forward the attributes to the native media element that are not handled.\n    const isNativeAttr = CustomVideoElement.observedAttributes.includes(attrName);\n    if (isNativeAttr && !['src', 'autoplay', 'preload'].includes(attrName)) {\n      super.attributeChangedCallback(attrName, oldValue, newValue);\n    }\n\n    switch (attrName) {\n      case Attributes.PLAYER_SOFTWARE_NAME:\n        this.playerSoftwareName = newValue ?? undefined;\n        break;\n      case Attributes.PLAYER_SOFTWARE_VERSION:\n        this.playerSoftwareVersion = newValue ?? undefined;\n        break;\n      case 'src': {\n        const hadSrc = !!oldValue;\n        const hasSrc = !!newValue;\n        if (!hadSrc && hasSrc) {\n          this.#requestLoad();\n        } else if (hadSrc && !hasSrc) {\n          this.unload();\n        } else if (hadSrc && hasSrc) {\n          this.unload();\n          this.#requestLoad();\n        }\n        break;\n      }\n      case 'autoplay':\n        if (newValue === oldValue) {\n          break;\n        }\n        /** In case newValue is an empty string or null, use this.autoplay which translates to booleans (WL) */\n        this.#core?.setAutoplay(this.autoplay);\n        break;\n      case 'preload':\n        if (newValue === oldValue) {\n          break;\n        }\n        this.#core?.setPreload(newValue as HTMLMediaElement['preload']);\n        break;\n      case Attributes.PLAYBACK_ID:\n        this.src = toMuxVideoURL(this) as string;\n        break;\n      case Attributes.DEBUG: {\n        const debug = this.debug;\n        if (!!this.mux) {\n          /** @TODO Link to docs for a more detailed discussion (CJP) */\n          console.info(\n            'Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src.'\n          );\n        }\n        if (!!this._hls) {\n          this._hls.config.debug = debug;\n        }\n        break;\n      }\n      case Attributes.METADATA_URL:\n        if (newValue) {\n          fetch(newValue)\n            .then((resp) => resp.json())\n            .then((json) => (this.metadata = json))\n            .catch(() => console.error(`Unable to load or parse metadata JSON from metadata-url ${newValue}!`));\n        }\n        break;\n      case Attributes.STREAM_TYPE:\n        // If the newValue is unset\n        if (newValue == null || newValue !== oldValue) {\n          this.dispatchEvent(new CustomEvent('streamtypechange', { composed: true, bubbles: true }));\n        }\n        break;\n      case Attributes.TARGET_LIVE_WINDOW:\n        if (newValue == null || newValue !== oldValue) {\n          this.dispatchEvent(\n            new CustomEvent('targetlivewindowchange', { composed: true, bubbles: true, detail: this.targetLiveWindow })\n          );\n        }\n        break;\n      case Attributes.LOGO:\n        if (newValue == null || newValue !== oldValue) {\n          this.updateLogo();\n        }\n        break;\n      case Attributes.DISABLE_TRACKING: {\n        if (newValue == null || newValue !== oldValue) {\n          const currentTime = this.currentTime;\n          const paused = this.paused;\n          this.unload();\n          this.#requestLoad().then(() => {\n            this.currentTime = currentTime;\n            if (!paused) {\n              this.play();\n            }\n          });\n        }\n        break;\n      }\n      case Attributes.DISABLE_COOKIES: {\n        if (newValue == null || newValue !== oldValue) {\n          const disabled = this.disableCookies;\n          if (disabled) {\n            document.cookie.split(';').forEach((c) => {\n              if (c.trim().startsWith('muxData')) {\n                document.cookie = c\n                  .replace(/^ +/, '')\n                  .replace(/=.*/, '=;expires=' + new Date().toUTCString() + ';path=/');\n              }\n            });\n          }\n        }\n        break;\n      }\n      case Attributes.CAP_RENDITION_TO_PLAYER_SIZE: {\n        if (newValue == null || newValue !== oldValue) {\n          // Presence-based: attribute present = true, absent = undefined\n          this.capRenditionToPlayerSize = newValue != null ? true : undefined;\n        }\n      }\n    }\n  }\n\n  updateLogo() {\n    if (!this.shadowRoot) return;\n\n    const slotLogo = this.shadowRoot.querySelector('slot[name=\"logo\"]');\n    if (!slotLogo) return;\n\n    const logoHTML = (this.constructor as typeof MuxVideoElement).getLogoHTML(this.#logo || this.logo);\n    slotLogo.innerHTML = logoHTML;\n  }\n\n  connectedCallback(): void {\n    super.connectedCallback?.();\n    this.nativeEl?.addEventListener('muxmetadata', this.#muxmetadataHandler);\n    if (this.nativeEl && this.src && !this.#core) {\n      this.#requestLoad();\n    }\n  }\n\n  disconnectedCallback(): void {\n    this.nativeEl?.removeEventListener('muxmetadata', this.#muxmetadataHandler);\n    this.unload();\n    super.disconnectedCallback?.();\n  }\n\n  handleEvent(event: Event): void {\n    if (event.target === this.nativeEl) {\n      // Composed events are forwarded to parent shadow hosts (e.g. mux-player).\n      this.dispatchEvent(\n        new CustomEvent(event.type, {\n          composed: true,\n          detail: (event as CustomEvent).detail,\n        })\n      );\n    }\n  }\n}\n\nexport {\n  PlaybackEngine,\n  PlaybackEngine as Hls,\n  ExtensionMimeTypeMap as MimeTypes,\n  MediaError,\n  Events,\n  generatePlayerInitTime,\n};\n", "export const isMaybeBrowser = () => typeof window != 'undefined';\n// @ts-ignore\nexport const isMaybeServer = () => typeof global != 'undefined';\n\nconst getEnvPlayerVersion = () => {\n  try {\n    // @ts-ignore\n    return PLAYER_VERSION as string;\n  } catch {}\n  return 'UNKNOWN';\n};\n\nconst player_version: string = getEnvPlayerVersion();\n\nexport const getPlayerVersion = () => player_version;\n", "export const muxLogo = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" xml:space=\"preserve\" part=\"logo\" style=\"fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2\" viewBox=\"0 0 1600 500\"><g fill=\"#fff\"><path d=\"M994.287 93.486c-17.121 0-31-13.879-31-31 0-17.121 13.879-31 31-31 17.121 0 31 13.879 31 31 0 17.121-13.879 31-31 31m0-93.486c-34.509 0-62.484 27.976-62.484 62.486v187.511c0 68.943-56.09 125.033-125.032 125.033s-125.03-56.09-125.03-125.033V62.486C681.741 27.976 653.765 0 619.256 0s-62.484 27.976-62.484 62.486v187.511C556.772 387.85 668.921 500 806.771 500c137.851 0 250.001-112.15 250.001-250.003V62.486c0-34.51-27.976-62.486-62.485-62.486M1537.51 468.511c-17.121 0-31-13.879-31-31 0-17.121 13.879-31 31-31 17.121 0 31 13.879 31 31 0 17.121-13.879 31-31 31m-275.883-218.509-143.33 143.329c-24.402 24.402-24.402 63.966 0 88.368 24.402 24.402 63.967 24.402 88.369 0l143.33-143.329 143.328 143.329c24.402 24.4 63.967 24.402 88.369 0 24.403-24.402 24.403-63.966.001-88.368l-143.33-143.329.001-.004 143.329-143.329c24.402-24.402 24.402-63.965 0-88.367s-63.967-24.402-88.369 0L1349.996 161.63 1206.667 18.302c-24.402-24.401-63.967-24.402-88.369 0s-24.402 63.965 0 88.367l143.329 143.329v.004ZM437.511 468.521c-17.121 0-31-13.879-31-31 0-17.121 13.879-31 31-31 17.121 0 31 13.879 31 31 0 17.121-13.879 31-31 31M461.426 4.759C438.078-4.913 411.2.432 393.33 18.303L249.999 161.632 106.669 18.303C88.798.432 61.922-4.913 38.573 4.759 15.224 14.43-.001 37.214-.001 62.488v375.026c0 34.51 27.977 62.486 62.487 62.486 34.51 0 62.486-27.976 62.486-62.486V213.341l80.843 80.844c24.404 24.402 63.965 24.402 88.369 0l80.843-80.844v224.173c0 34.51 27.976 62.486 62.486 62.486s62.486-27.976 62.486-62.486V62.488c0-25.274-15.224-48.058-38.573-57.729\" style=\"fill-rule:nonzero\"/></g></svg>`;\n"],
  "mappings": "yXAAA,OACE,cAAAA,EACA,YAAAC,EACA,0BAAAC,EAGA,iBAAAC,EACA,iBAAAC,EAEA,cAAAC,GACA,YAAAC,EAEA,kBAAAC,EACA,gBAAAC,EACA,gBAAAC,EACA,qBAAAC,EACA,eAAAC,EACA,oBAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,iBAAAC,GACA,uBAAAC,GACA,oBAAAC,GACA,eAAAC,GACA,YAAAC,GACA,eAAAC,GACA,uBAAAC,GACA,qBAAAC,GACA,oBAAAC,OAEK,qBC3BP,IAAMC,EAAsB,IAAM,CAChC,GAAI,CAEF,MAAO,QACT,MAAQ,CAAC,CACT,MAAO,SACT,EAEMC,EAAyBD,EAAoB,EAEtCE,EAAmB,IAAMD,EDiCtC,OAAS,sBAAAE,EAAoB,UAAAC,OAAc,uBE/CpC,IAAMC,EAAU;kvDFsDhB,IAAMC,EAAa,CACxB,yBAA0B,2BAC1B,cAAe,gBACf,MAAO,QACP,iBAAkB,mBAClB,gBAAiB,kBACjB,qBAAsB,uBACtB,UAAW,YACX,eAAgB,iBAChB,QAAS,UACT,eAAgB,iBAChB,eAAgB,iBAChB,oBAAqB,sBACrB,gBAAiB,kBACjB,mBAAoB,qBACpB,iBAAkB,mBAClB,iBAAkB,mBAClB,eAAgB,iBAChB,aAAc,eACd,YAAa,cACb,qBAAsB,uBACtB,wBAAyB,0BACzB,iBAAkB,mBAClB,YAAa,cACb,gBAAiB,kBACjB,WAAY,aACZ,YAAa,cACb,mBAAoB,qBACpB,iBAAkB,mBAClB,KAAM,OACN,KAAM,OACN,6BAA8B,8BAChC,EAEMC,GAAsB,OAAO,OAAOD,CAAU,EAEvCE,EAAwBC,EAAiB,EACzCC,EAAqB,YA3FlCC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EA6FaC,EAAN,cAAkCC,CAAmD,CA6E1F,aAAc,CACZ,MAAM,EA9EHC,EAAA,KAAAN,GAaLM,EAAA,KAAAhB,GACAgB,EAAA,KAAAf,GACAe,EAAA,KAAAd,EAAsB,CAAC,GACvBc,EAAA,KAAAb,EAAkB,CAAC,GACnBa,EAAA,KAAAZ,GACAY,EAAA,KAAAX,GACAW,EAAA,KAAAV,GACAU,EAAA,KAAAT,GACAS,EAAA,KAAAR,EAAgB,IAEhBQ,EAAA,KAAAP,EAAuBQ,GAAkB,CApH3C,IAAAC,EAqHI,IAAMC,EAAkBC,EAAY,KAAK,QAAQ,EAC3CC,GAAeH,EAAA,KAAK,WAAL,KAAAA,EAAiB,CAAC,EAGvC,KAAK,SAAW,CACd,GAAGC,EACH,GAAGE,CACL,GAGKF,GAAA,YAAAA,EAA0B,6BAA8B,kBAC3DG,EAAA,KAAKd,EAAQ,WACb,KAAK,WAAW,EAEpB,GAyYAQ,EAAA,KAAAJ,GAhWEU,EAAA,KAAKrB,EAAyBsB,EAAuB,EACvD,CA/EA,WAAW,MAAO,CAChB,OAAOxB,CACT,CAEA,WAAW,SAAU,CACnB,OAAOF,CACT,CAEA,WAAW,oBAAqB,CAtGlC,IAAAqB,EAuGI,MAAO,CAAC,GAAGtB,GAAqB,IAAIsB,EAAAH,EAAmB,qBAAnB,KAAAG,EAAyC,CAAC,CAAE,CAClF,CA6BA,OAAO,YAAYM,EAA0B,CAC3C,MAAI,CAACA,GAAaA,IAAc,QAAgB,GACzCA,IAAc,UAAYC,EAAU,yBAAyBD,CAAS,MAC/E,CAEA,OAAO,gBAAgBE,EAAgC,CAAC,EAAG,CA1I7D,IAAAR,EA2II,MAAkB;AAAA,QACdH,EAAmB,gBAAgBW,CAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAyBvC,KAAK,aAAYR,EAAAQ,EAAM/B,EAAW,IAAI,IAArB,KAAAuB,EAA0B,EAAE,CAAC;AAAA;AAAA,KAGtD,CAWA,IAAI,YAAa,CAnLnB,IAAAA,EAoLI,OAAQA,EAAA,KAAK,aAAavB,EAAW,WAAW,IAAxC,KAAAuB,EAAoE,MAC9E,CAEA,IAAI,WAAWS,EAAuC,CAChDA,IAAU,KAAK,aACdA,EAEMC,EAAe,SAASD,CAAK,EACtC,KAAK,aAAahC,EAAW,YAAagC,CAAK,EAE/C,QAAQ,KAAK,gDAAgDC,EAAe,KAAK,CAAC,EAAE,EAJpF,KAAK,gBAAgBjC,EAAW,WAAW,EAM/C,CAEA,IAAI,gBAAiB,CACnB,OAAK,KAAK,aAAaA,EAAW,gBAAgB,EAC3C,CAAE,KAAK,aAAaA,EAAW,gBAAgB,EADMkC,EAAA,KAAK5B,EAEnE,CAEA,IAAI,eAAe6B,EAAK,CAElBA,GAAO,KAAK,iBAEZA,GAAO,KACT,KAAK,gBAAgBnC,EAAW,gBAAgB,EAEhD,KAAK,aAAaA,EAAW,iBAAkB,GAAG,CAACmC,CAAG,EAAE,EAE5D,CAEA,IAAI,oBAAqB,CAlN3B,IAAAZ,EAmNI,OAAOA,EAAAW,EAAA,KAAKvB,KAAL,KAAAY,EAA4BnB,CACrC,CAEA,IAAI,mBAAmB4B,EAA2B,CAChDL,EAAA,KAAKhB,EAAsBqB,EAC7B,CAEA,IAAI,uBAAwB,CA1N9B,IAAAT,EA2NI,OAAOA,EAAAW,EAAA,KAAKxB,KAAL,KAAAa,EAA+BrB,CACxC,CAEA,IAAI,sBAAsB8B,EAA2B,CACnDL,EAAA,KAAKjB,EAAyBsB,EAChC,CAGA,IAAI,MAAmC,CAnOzC,IAAAT,EAoOI,OAAOA,EAAAW,EAAA,KAAKnB,EAAAC,KAAL,YAAAO,EAAY,MACrB,CAEA,IAAI,KAAqD,CAvO3D,IAAAA,EAwOI,OAAOA,EAAA,KAAK,WAAL,YAAAA,EAAe,GACxB,CAEA,IAAI,OAAQ,CA3Od,IAAAA,EA4OI,OAAOA,EAAAa,EAAS,KAAK,QAAQ,IAAtB,KAAAb,EAA2B,IACpC,CAEA,IAAI,iBAA0D,CAC5D,OAAOW,EAAA,KAAKtB,EACd,CAEA,IAAI,gBAAgBoB,EAA+C,CACjEL,EAAA,KAAKf,EAAmBoB,EAC1B,CAEA,IAAI,KAAM,CAIR,OAAO,KAAK,aAAa,KAAK,CAChC,CAEA,IAAI,IAAIG,EAAa,CAGfA,IAAQ,KAAK,MAEbA,GAAO,KACT,KAAK,gBAAgB,KAAK,EAE1B,KAAK,aAAa,MAAOA,CAAG,EAEhC,CAEA,IAAI,MAAkD,CA1QxD,IAAAZ,EA2QI,OAAQA,EAAA,KAAK,aAAavB,EAAW,IAAI,IAAjC,KAAAuB,EAAwE,MAClF,CAEA,IAAI,KAAKY,EAAgD,CAEnDA,IAAQ,KAAK,OAEbA,EACF,KAAK,aAAanC,EAAW,KAAMmC,CAAG,EAEtC,KAAK,gBAAgBnC,EAAW,IAAI,EAExC,CAEA,IAAI,SAAU,CACZ,IAAMmC,EAAM,KAAK,aAAa,SAAS,EACvC,OAAIA,IAAQ,GAAW,OACnB,CAAC,OAAQ,WAAY,MAAM,EAAE,SAASA,CAAG,EAAUA,EAChD,MAAM,OACf,CAEA,IAAI,QAAQA,EAAK,CAGXA,GAAO,KAAK,aAAa,SAAS,IAElC,CAAC,GAAI,OAAQ,WAAY,MAAM,EAAE,SAASA,CAAG,EAC/C,KAAK,aAAa,UAAWA,CAAG,EAEhC,KAAK,gBAAgB,SAAS,EAElC,CAEA,IAAI,OAAQ,CACV,OAAO,KAAK,aAAanC,EAAW,KAAK,GAAK,IAChD,CAEA,IAAI,MAAMmC,EAAK,CAETA,IAAQ,KAAK,QAEbA,EACF,KAAK,aAAanC,EAAW,MAAO,EAAE,EAEtC,KAAK,gBAAgBA,EAAW,KAAK,EAEzC,CAEA,IAAI,iBAAkB,CACpB,OAAO,KAAK,aAAaA,EAAW,gBAAgB,CACtD,CAEA,IAAI,gBAAgBmC,EAAK,CAEnBA,IAAQ,KAAK,iBAEjB,KAAK,gBAAgBnC,EAAW,iBAAkB,CAAC,CAACmC,CAAG,CACzD,CAEA,IAAI,gBAAiB,CACnB,OAAO,KAAK,aAAanC,EAAW,eAAe,CACrD,CAEA,IAAI,eAAemC,EAAK,CAElBA,IAAQ,KAAK,iBAEbA,EACF,KAAK,aAAanC,EAAW,gBAAiB,EAAE,EAEhD,KAAK,gBAAgBA,EAAW,eAAe,EAEnD,CAEA,IAAI,oBAAqB,CACvB,OAAO,KAAK,aAAaA,EAAW,oBAAoB,CAC1D,CAEA,IAAI,mBAAmBmC,EAAK,CAEtBA,IAAQ,KAAK,qBAEbA,EACF,KAAK,aAAanC,EAAW,qBAAsB,EAAE,EAErD,KAAK,gBAAgBA,EAAW,oBAAoB,EAExD,CAEA,IAAI,WAAgC,CAClC,IAAMmC,EAAM,KAAK,aAAanC,EAAW,UAAU,EACnD,GAAImC,GAAO,KAAM,OACjB,IAAME,EAAM,CAACF,EACb,OAAQ,OAAO,MAAME,CAAG,EAAU,OAANA,CAC9B,CAEA,IAAI,UAAUF,EAAyB,CAEjCA,IAAQ,KAAK,YAEbA,GAAO,KACT,KAAK,gBAAgBnC,EAAW,UAAU,EAE1C,KAAK,aAAaA,EAAW,WAAY,GAAGmC,CAAG,EAAE,EAErD,CAGA,IAAI,YAAiC,CAvXvC,IAAAZ,EAwXI,OAAI,KAAK,aAAavB,EAAW,WAAW,EACnC,KAAK,aAAaA,EAAW,WAAW,GAG1CuB,EAAAe,GAAoB,KAAK,GAAG,IAA5B,KAAAf,EAAiC,MAC1C,CAEA,IAAI,WAAWY,EAAyB,CAElCA,IAAQ,KAAK,aAEbA,EACF,KAAK,aAAanC,EAAW,YAAamC,CAAG,EAE7C,KAAK,gBAAgBnC,EAAW,WAAW,EAE/C,CAEA,IAAI,eAAgB,CA1YtB,IAAAuB,EA2YI,OAAQA,EAAA,KAAK,aAAavB,EAAW,cAAc,IAA3C,KAAAuB,EAAuE,MACjF,CAEA,IAAI,cAAcY,EAAqC,CACjDA,IAAQ,KAAK,gBAEbA,EACF,KAAK,aAAanC,EAAW,eAAgBmC,CAAG,EAEhD,KAAK,gBAAgBnC,EAAW,cAAc,EAElD,CAEA,IAAI,eAAgB,CAxZtB,IAAAuB,EAyZI,OAAQA,EAAA,KAAK,aAAavB,EAAW,cAAc,IAA3C,KAAAuB,EAAuE,MACjF,CAEA,IAAI,cAAcY,EAAqC,CACjDA,IAAQ,KAAK,gBAEbA,EACF,KAAK,aAAanC,EAAW,eAAgBmC,CAAG,EAEhD,KAAK,gBAAgBnC,EAAW,cAAc,EAElD,CAEA,IAAI,mBAAoB,CAta1B,IAAAuB,EAuaI,OAAQA,EAAA,KAAK,aAAavB,EAAW,mBAAmB,IAAhD,KAAAuB,EAAgF,MAC1F,CAEA,IAAI,kBAAkBY,EAAyC,CACzDA,GAAO,KACT,KAAK,gBAAgBnC,EAAW,mBAAmB,EAEnD,KAAK,aAAaA,EAAW,oBAAqBmC,CAAG,CAEzD,CAEA,IAAI,gBAAiB,CAlbvB,IAAAZ,EAmbI,OAAQA,EAAA,KAAK,aAAavB,EAAW,eAAe,IAA5C,KAAAuB,EAAyE,MACnF,CAEA,IAAI,eAAeY,EAAsC,CACnDA,IAAQ,KAAK,iBAEbA,EACF,KAAK,aAAanC,EAAW,gBAAiBmC,CAAG,EAEjD,KAAK,gBAAgBnC,EAAW,eAAe,EAEnD,CAEA,IAAI,kBAAmB,CACrB,IAAMmC,EAAM,KAAK,aAAanC,EAAW,kBAAkB,EAC3D,GAAImC,GAAO,KAAM,OACjB,IAAME,EAAM,CAACF,EACb,OAAQ,OAAO,MAAME,CAAG,EAAU,OAANA,CAC9B,CAEA,IAAI,iBAAiBF,EAAyB,CACxCA,GAAO,KACT,KAAK,gBAAgBnC,EAAW,kBAAkB,EAElD,KAAK,aAAaA,EAAW,mBAAoB,GAAGmC,CAAG,EAAE,CAE7D,CAEA,IAAI,gBAAiB,CACnB,IAAMA,EAAM,KAAK,aAAanC,EAAW,gBAAgB,EACzD,GAAImC,GAAO,KAAM,OACjB,IAAME,EAAM,CAACF,EACb,OAAQ,OAAO,MAAME,CAAG,EAAU,OAANA,CAC9B,CAEA,IAAI,eAAeF,EAAyB,CACtCA,GAAO,KACT,KAAK,gBAAgBnC,EAAW,gBAAgB,EAEhD,KAAK,aAAaA,EAAW,iBAAkB,GAAGmC,CAAG,EAAE,CAE3D,CAEA,IAAI,gBAAiB,CACnB,IAAMA,EAAM,KAAK,aAAanC,EAAW,gBAAgB,EACzD,GAAImC,GAAO,KAAM,OACjB,IAAME,EAAM,CAACF,EACb,OAAQ,OAAO,MAAME,CAAG,EAAU,OAANA,CAC9B,CAEA,IAAI,eAAeF,EAAyB,CACtCA,GAAO,KACT,KAAK,gBAAgBnC,EAAW,gBAAgB,EAEhD,KAAK,aAAaA,EAAW,iBAAkB,GAAGmC,CAAG,EAAE,CAE3D,CAEA,IAAI,cAAe,CACjB,IAAMA,EAAM,KAAK,aAAanC,EAAW,cAAc,EACvD,GAAImC,GAAO,KAAM,OACjB,IAAME,EAAM,CAACF,EACb,OAAQ,OAAO,MAAME,CAAG,EAAU,OAANA,CAC9B,CAEA,IAAI,aAAaF,EAAyB,CACpCA,GAAO,KACT,KAAK,gBAAgBnC,EAAW,cAAc,EAE9C,KAAK,aAAaA,EAAW,eAAgB,GAAGmC,CAAG,EAAE,CAEzD,CAEA,IAAI,cAAe,CA5frB,IAAAZ,EA6fI,OAAOA,EAAA,KAAK,aAAavB,EAAW,aAAa,IAA1C,KAAAuB,EAA+C,MACxD,CAEA,IAAI,aAAaY,EAAyB,CAEpCA,IAAQ,KAAK,eAEbA,EACF,KAAK,aAAanC,EAAW,cAAemC,CAAG,EAE/C,KAAK,gBAAgBnC,EAAW,aAAa,EAEjD,CAKA,IAAI,0BAAgD,CA9gBtD,IAAAuB,EA+gBI,QAAIA,EAAA,KAAK,aAAL,YAAAA,EAAiB,uBAAwB,KACpC,KAAK,WAAW,qBAElBW,EAAA,KAAKjB,EACd,CAEA,IAAI,yBAAyBkB,EAA0B,CACrDR,EAAA,KAAKV,EAA4BkB,EACnC,CAEA,IAAI,UAAW,CAzhBjB,IAAAZ,EA0hBI,OAAOA,EAAA,KAAK,aAAavB,EAAW,SAAS,IAAtC,KAAAuB,EAA2C,MACpD,CAEA,IAAI,SAASY,EAAyB,CAEhCA,IAAQ,KAAK,WAEbA,EACF,KAAK,aAAanC,EAAW,UAAWmC,CAAG,EAE3C,KAAK,gBAAgBnC,EAAW,SAAS,EAE7C,CAKA,IAAI,eAAgB,CA3iBtB,IAAAuB,EAAAgB,EAAAC,EAAAC,EA4iBI,GAAI,KAAK,aAAazC,EAAW,cAAc,EAC7C,OAAOuB,EAAA,KAAK,aAAavB,EAAW,cAAc,IAA3C,KAAAuB,EAAgD,OAEzD,GAAI,KAAK,aAAavB,EAAW,WAAW,EAAG,CAC7C,GAAM,CAAC,CAAE0C,CAAU,EAAIC,IAAkBJ,EAAA,KAAK,aAAL,KAAAA,EAAmB,EAAE,EAC9D,OAAOC,EAAA,IAAI,gBAAgBE,CAAU,EAAE,IAAI,OAAO,IAA3C,KAAAF,EAAgD,MACzD,CACA,GAAI,KAAK,IACP,OAAOC,EAAA,IAAI,gBAAgB,KAAK,GAAG,EAAE,IAAI,OAAO,IAAzC,KAAAA,EAA8C,MAGzD,CAKA,IAAI,cAAcN,EAAyB,CACrCA,IAAQ,KAAK,gBAEbA,EACF,KAAK,aAAanC,EAAW,eAAgBmC,CAAG,EAEhD,KAAK,gBAAgBnC,EAAW,cAAc,EAElD,CAEA,IAAI,QAAS,CACX,IAAM4C,EAAW,KAAK,aAAa5C,EAAW,cAAc,EACtD6C,EAAM,KAAK,aAAa7C,EAAW,SAAS,EAClD,MAAO,CACL,GAAGkC,EAAA,KAAK1B,GACR,GAAIoC,GAAY,KAAO,CAAE,SAAAA,CAAS,EAAI,CAAC,EACvC,GAAIC,GAAO,KAAO,CAAE,IAAAA,CAAI,EAAI,CAAC,CAC/B,CACF,CAEA,IAAI,OAAOV,EAAK,CACdR,EAAA,KAAKnB,EAAU2B,GAAA,KAAAA,EAAO,CAAC,EACzB,CAEA,IAAI,OAAQ,CAGV,OAAOW,GAAS,KAAK,SAAU,KAAK,IAAI,CAC1C,CAEA,IAAI,QAA6B,CA1lBnC,IAAAvB,EA2lBI,OAAOA,EAAA,KAAK,aAAavB,EAAW,OAAO,IAApC,KAAAuB,EAAyC,MAClD,CAEA,IAAI,OAAOY,EAAyB,CAE9BA,IAAQ,KAAK,SAEbA,EACF,KAAK,aAAanC,EAAW,QAASmC,CAAG,EAEzC,KAAK,gBAAgBnC,EAAW,OAAO,EAE3C,CAEA,IAAI,wBAA6C,CAzmBnD,IAAAuB,EA0mBI,OAAOA,EAAA,KAAK,aAAavB,EAAW,wBAAwB,IAArD,KAAAuB,EAA0D,MACnE,CAEA,IAAI,uBAAuBY,EAAyB,CAE9CA,IAAQ,KAAK,yBAEbA,EACF,KAAK,aAAanC,EAAW,yBAA0BmC,CAAG,EAE1D,KAAK,gBAAgBnC,EAAW,wBAAwB,EAE5D,CAEA,IAAI,YAA+C,CAxnBrD,IAAAuB,EA0nBI,OAAQA,EAAA,KAAK,aAAavB,EAAW,WAAW,IAAxC,KAAAuB,EAAsEwB,GAAc,KAAK,QAAQ,CAC3G,CAEA,IAAI,WAAWZ,EAAuC,CAEhDA,IAAQ,KAAK,aAEbA,EACF,KAAK,aAAanC,EAAW,YAAamC,CAAG,EAE7C,KAAK,gBAAgBnC,EAAW,WAAW,EAE/C,CAEA,IAAI,kBAAmB,CAErB,OAAI,KAAK,aAAaA,EAAW,kBAAkB,EAC1C,CAAE,KAAK,aAAaA,EAAW,kBAAkB,EAEnDgD,GAAoB,KAAK,QAAQ,CAC1C,CAEA,IAAI,iBAAiBb,EAAyB,CAExCA,GAAO,KAAK,mBAEZA,GAAO,KACT,KAAK,gBAAgBnC,EAAW,kBAAkB,EAElD,KAAK,aAAaA,EAAW,mBAAoB,GAAG,CAACmC,CAAG,EAAE,EAE9D,CAEA,IAAI,eAAgB,CA3pBtB,IAAAZ,EAAAgB,EA4pBI,GAAI,KAAK,aAAavC,EAAW,gBAAgB,EAAG,CAClD,GAAM,CAAE,eAAAiD,CAAe,EAAI,KACrBC,GAAc3B,EAAA,KAAK,SAAS,SAAS,IAAI,CAAC,IAA5B,KAAAA,EAAiC,EAC/C4B,GAAgBZ,EAAA,KAAK,SAAS,SAAS,MAAM,CAAC,IAA9B,KAAAA,EAAmC,EACzD,OAAO,KAAK,IAAIY,EAAeD,EAAeD,CAAyB,CACzE,CACA,OAAOG,GAAiB,KAAK,QAAQ,CACvC,CAEA,IAAI,gBAAiB,CACnB,GAAK,KAAK,aAAapD,EAAW,gBAAgB,EAClD,MAAO,CAAE,KAAK,aAAaA,EAAW,gBAAgB,CACxD,CAEA,IAAI,eAAemC,EAAyB,CAEtCA,GAAO,KAAK,iBAEZA,GAAO,KACT,KAAK,gBAAgBnC,EAAW,gBAAgB,EAEhD,KAAK,aAAaA,EAAW,iBAAkB,GAAG,CAACmC,CAAG,EAAE,EAE5D,CAEA,IAAI,UAAW,CACb,OAAOkB,GAAY,KAAK,QAAQ,CAClC,CAEA,MAAM,aAAsBC,EAA0B,CACpD,OAAOC,EAAa,KAAK,SAAUD,CAAS,CAC9C,CAEA,IAAI,gBAAiB,CACnB,OAAOE,EAAkB,KAAK,QAAQ,CACxC,CAEA,IAAI,WAAY,CACd,OAAOC,EAAa,KAAK,QAAQ,CACnC,CAEA,MAAM,YAAYC,EAAqB,CACrC,OAAOC,EAAY,KAAK,SAAUD,CAAQ,CAC5C,CAEA,IAAI,eAAgB,CAClB,OAAOE,EAAiB,KAAK,QAAQ,CACvC,CAEA,IAAI,UAAW,CACb,OAAOC,GAAY,KAAK,QAAQ,CAClC,CAEA,cAAe,CACb,OAAOC,EAAa,KAAK,SAAU,KAAK,IAAI,CAC9C,CAEA,IAAI,YAAa,CACf,OAAOC,EAAc,KAAK,SAAU,KAAK,IAAI,CAC/C,CAEA,IAAI,gBAAqD,CACvD,IAAM5B,EAAM,KAAK,aAAanC,EAAW,eAAe,EACxD,GAAImC,IAAQ6B,EAAc,KAAO7B,IAAQ6B,EAAc,OAAQ,OAAO7B,CAExE,CAEA,IAAI,eAAeA,EAAyC,CACtDA,IAAQ,KAAK,iBAEbA,IAAQ6B,EAAc,KAAO7B,IAAQ6B,EAAc,OACrD,KAAK,aAAahE,EAAW,gBAAiBmC,CAAG,EAEjD,KAAK,gBAAgBnC,EAAW,eAAe,EAEnD,CAEA,IAAI,UAAW,CAgBb,MAAO,CACL,GAhBuD,KAAK,kBAAkB,EAC7E,OAAQiE,GACAA,EAAS,WAAW,WAAW,GAAK,CAAE,CAACjE,EAAW,YAAY,EAAe,SAASiE,CAAQ,CACtG,EACA,OACC,CAACC,EAAWD,IAAa,CACvB,IAAMjC,EAAQ,KAAK,aAAaiC,CAAQ,EACxC,OAAIjC,GAAS,OACXkC,EAAUD,EAAS,QAAQ,aAAc,EAAE,EAAE,QAAQ,KAAM,GAAG,CAAW,EAAIjC,GAExEkC,CACT,EACA,CAAC,CACH,EAIA,GAAGhC,EAAA,KAAK3B,EACV,CACF,CAEA,IAAI,SAAS4B,EAAqC,CAChDR,EAAA,KAAKpB,EAAY4B,GAAA,KAAAA,EAAO,CAAC,GACnB,KAAK,KACT,KAAK,IAAI,KAAK,KAAMD,EAAA,KAAK3B,EAAS,CAEtC,CAEA,IAAI,YAAa,CACf,OAAO2B,EAAA,KAAKzB,EACd,CAEA,IAAI,WAAW0B,EAA+C,CAC5DR,EAAA,KAAKlB,EAAc0B,EACrB,CAEA,IAAI,MAAO,CA9wBb,IAAAZ,EA+wBI,OAAOA,EAAA,KAAK,aAAavB,EAAW,IAAI,IAAjC,KAAAuB,EAAsCW,EAAA,KAAKrB,EACpD,CAEA,IAAI,KAAKsB,EAAK,CACRA,EACF,KAAK,aAAanC,EAAW,KAAMmC,CAAG,EAEtC,KAAK,gBAAgBnC,EAAW,IAAI,CAExC,CASA,MAAO,CACLmE,EAAW,KAAgC,KAAK,SAAUjC,EAAA,KAAKnB,EAAAC,EAAK,CACtE,CAEA,QAAS,CACPoD,EAAS,KAAK,SAAUlC,EAAA,KAAKnB,EAAAC,GAAO,IAA8B,CACpE,CAEA,yBAAyBiD,EAAkBI,EAAyBC,EAAyB,CAzyB/F,IAAA/C,EAAAgB,EAgzBI,OALqBnB,EAAmB,mBAAmB,SAAS6C,CAAQ,GACxD,CAAC,CAAC,MAAO,WAAY,SAAS,EAAE,SAASA,CAAQ,GACnE,MAAM,yBAAyBA,EAAUI,EAAUC,CAAQ,EAGrDL,EAAU,CAChB,KAAKjE,EAAW,qBACd,KAAK,mBAAqBsE,GAAA,KAAAA,EAAY,OACtC,MACF,KAAKtE,EAAW,wBACd,KAAK,sBAAwBsE,GAAA,KAAAA,EAAY,OACzC,MACF,IAAK,MAAO,CACV,IAAMC,EAAS,CAAC,CAACF,EACXG,EAAS,CAAC,CAACF,EACb,CAACC,GAAUC,EACbC,EAAA,KAAK1D,EAAAG,GAAL,WACSqD,GAAU,CAACC,EACpB,KAAK,OAAO,EACHD,GAAUC,IACnB,KAAK,OAAO,EACZC,EAAA,KAAK1D,EAAAG,GAAL,YAEF,KACF,CACA,IAAK,WACH,GAAIoD,IAAaD,EACf,OAGF9C,EAAAW,EAAA,KAAKnB,EAAAC,KAAL,MAAAO,EAAY,YAAY,KAAK,UAC7B,MACF,IAAK,UACH,GAAI+C,IAAaD,EACf,OAEF9B,EAAAL,EAAA,KAAKnB,EAAAC,KAAL,MAAAuB,EAAY,WAAW+B,GACvB,MACF,KAAKtE,EAAW,YACd,KAAK,IAAM0E,EAAc,IAAI,EAC7B,MACF,KAAK1E,EAAW,MAAO,CACrB,IAAM2E,EAAQ,KAAK,MACb,KAAK,KAET,QAAQ,KACN,+HACF,EAEI,KAAK,OACT,KAAK,KAAK,OAAO,MAAQA,GAE3B,KACF,CACA,KAAK3E,EAAW,aACVsE,GACF,MAAMA,CAAQ,EACX,KAAMM,GAASA,EAAK,KAAK,CAAC,EAC1B,KAAMC,GAAU,KAAK,SAAWA,CAAK,EACrC,MAAM,IAAM,QAAQ,MAAM,2DAA2DP,CAAQ,GAAG,CAAC,EAEtG,MACF,KAAKtE,EAAW,aAEVsE,GAAY,MAAQA,IAAaD,IACnC,KAAK,cAAc,IAAI,YAAY,mBAAoB,CAAE,SAAU,GAAM,QAAS,EAAK,CAAC,CAAC,EAE3F,MACF,KAAKrE,EAAW,oBACVsE,GAAY,MAAQA,IAAaD,IACnC,KAAK,cACH,IAAI,YAAY,yBAA0B,CAAE,SAAU,GAAM,QAAS,GAAM,OAAQ,KAAK,gBAAiB,CAAC,CAC5G,EAEF,MACF,KAAKrE,EAAW,MACVsE,GAAY,MAAQA,IAAaD,IACnC,KAAK,WAAW,EAElB,MACF,KAAKrE,EAAW,iBAAkB,CAChC,GAAIsE,GAAY,MAAQA,IAAaD,EAAU,CAC7C,IAAMS,EAAc,KAAK,YACnBC,EAAS,KAAK,OACpB,KAAK,OAAO,EACZN,EAAA,KAAK1D,EAAAG,GAAL,WAAoB,KAAK,IAAM,CAC7B,KAAK,YAAc4D,EACdC,GACH,KAAK,KAAK,CAEd,CAAC,CACH,CACA,KACF,CACA,KAAK/E,EAAW,gBAAiB,EAC3BsE,GAAY,MAAQA,IAAaD,IAClB,KAAK,gBAEpB,SAAS,OAAO,MAAM,GAAG,EAAE,QAASW,GAAM,CACpCA,EAAE,KAAK,EAAE,WAAW,SAAS,IAC/B,SAAS,OAASA,EACf,QAAQ,MAAO,EAAE,EACjB,QAAQ,MAAO,aAAe,IAAI,KAAK,EAAE,YAAY,EAAI,SAAS,EAEzE,CAAC,EAGL,KACF,CACA,KAAKhF,EAAW,8BACVsE,GAAY,MAAQA,IAAaD,KAEnC,KAAK,yBAA2BC,GAAY,KAAO,GAAO,OAGhE,CACF,CAEA,YAAa,CACX,GAAI,CAAC,KAAK,WAAY,OAEtB,IAAMW,EAAW,KAAK,WAAW,cAAc,mBAAmB,EAClE,GAAI,CAACA,EAAU,OAEf,IAAMC,EAAY,KAAK,YAAuC,YAAYhD,EAAA,KAAKrB,IAAS,KAAK,IAAI,EACjGoE,EAAS,UAAYC,CACvB,CAEA,mBAA0B,CA36B5B,IAAA3D,EAAAgB,GA46BIhB,EAAA,MAAM,oBAAN,MAAAA,EAAA,YACAgB,EAAA,KAAK,WAAL,MAAAA,EAAe,iBAAiB,cAAeL,EAAA,KAAKpB,IAChD,KAAK,UAAY,KAAK,KAAO,CAACoB,EAAA,KAAKnB,EAAAC,IACrCyD,EAAA,KAAK1D,EAAAG,GAAL,UAEJ,CAEA,sBAA6B,CAn7B/B,IAAAK,EAAAgB,GAo7BIhB,EAAA,KAAK,WAAL,MAAAA,EAAe,oBAAoB,cAAeW,EAAA,KAAKpB,IACvD,KAAK,OAAO,GACZyB,EAAA,MAAM,uBAAN,MAAAA,EAAA,UACF,CAEA,YAAY4C,EAAoB,CAC1BA,EAAM,SAAW,KAAK,UAExB,KAAK,cACH,IAAI,YAAYA,EAAM,KAAM,CAC1B,SAAU,GACV,OAASA,EAAsB,MACjC,CAAC,CACH,CAEJ,CACF,EA11BE9E,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YAEAC,EAAA,YAvBKC,EAAA,YAkFDC,EAAK,UAA6B,CACpC,OAAOoE,GAAiB,KAAK,QAAQ,CACvC,EA2VAnE,EAAA,YA8QMC,EAAY,gBAAG,CACfgB,EAAA,KAAK7B,KACT,MAAOsB,EAAA,KAAKtB,EAAiB,QAAQ,QAAQ,GAC7CsB,EAAA,KAAKtB,EAAiB,MACtB,KAAK,KAAK,EACZ",
  "names": ["initialize", "teardown", "generatePlayerInitTime", "PlaybackTypes", "toMuxVideoURL", "MediaError", "getError", "CmcdTypeValues", "addCuePoints", "getCuePoints", "getActiveCuePoint", "addChapters", "getActiveChapter", "getMetadata", "getStartDate", "getCurrentPdt", "getStreamType", "getTargetLiveWindow", "getLiveEdgeStart", "getSeekable", "getEnded", "getChapters", "toPlaybackIdFromSrc", "toPlaybackIdParts", "getCoreReference", "getEnvPlayerVersion", "player_version", "getPlayerVersion", "CustomVideoElement", "Events", "muxLogo", "Attributes", "AttributeNameValues", "playerSoftwareVersion", "getPlayerVersion", "playerSoftwareName", "_loadRequested", "_defaultPlayerInitTime", "_metadata", "_tokens", "__hlsConfig", "_playerSoftwareVersion", "_playerSoftwareName", "_errorTranslator", "_logo", "_muxmetadataHandler", "_MuxVideoBaseElement_instances", "core_get", "_capRenditionToPlayerSize", "requestLoad_fn", "MuxVideoBaseElement", "CustomVideoElement", "__privateAdd", "_event", "_a", "fetchedMetadata", "getMetadata", "userMetadata", "__privateSet", "generatePlayerInitTime", "logoValue", "muxLogo", "attrs", "value", "CmcdTypeValues", "__privateGet", "val", "getError", "num", "toPlaybackIdFromSrc", "_b", "_c", "_d", "queryParts", "toPlaybackIdParts", "playback", "drm", "getEnded", "getStreamType", "getTargetLiveWindow", "liveEdgeOffset", "seekableEnd", "seekableStart", "getLiveEdgeStart", "getSeekable", "cuePoints", "addCuePoints", "getActiveCuePoint", "getCuePoints", "chapters", "addChapters", "getActiveChapter", "getChapters", "getStartDate", "getCurrentPdt", "PlaybackTypes", "attrName", "currAttrs", "initialize", "teardown", "oldValue", "newValue", "hadSrc", "hasSrc", "__privateMethod", "toMuxVideoURL", "debug", "resp", "json", "currentTime", "paused", "c", "slotLogo", "logoHTML", "event", "getCoreReference"]
}
