text: /*!
   * videojs-wavesurfer
   * @version 3.8.0
   * @see https://github.com/collab-project/videojs-wavesurfer
   * @copyright 2014-2021 Collab
   * @license MIT
   */
  !(function (e, t) {
      "object" == typeof exports && "object" == typeof module
          ? (module.exports = t(require("video.js"), require("wavesurfer.js")))
          : "function" == typeof define && define.amd
          ? define("VideojsWavesurfer", ["video.js", "wavesurfer.js"], t)
          : "object" == typeof exports
          ? (exports.VideojsWavesurfer = t(
                require("video.js"),
                require("wavesurfer.js")
            ))
          : (e.VideojsWavesurfer = t(e.videojs, e.WaveSurfer));
  })(self, function (e, t) {
      return (() => {
          var r = {
                  21: function (e, t, r) {
                      var i;
                      !(function (t) {
                          "use strict";
                          function a(e, t) {
                              t = t || 2;
                              var r,
                                  i = Number(e) < 0,
                                  a = e.toString();
                              return (
                                  i && (a = a.slice(1)),
                                  (r = t - a.length + 1),
                                  (i ? "-" : "") +
                                      (a = new Array(r).join("0").concat(a))
                              );
                          }
                          void 0 ===
                              (i = function () {
                                  return a;
                              }.call(t, r, t, e)) || (e.exports = i);
                      })(this);
                  },
                  997: (e, t) => {
                      "use strict";
                      Object.defineProperty(t, "__esModule", { value: !0 }),
                          (t.default = void 0);
                      var r = { debug: !1, displayMilliseconds: !0 };
                      (t.default = r), (e.exports = t.default);
                  },
                  537: (e, t) => {
                      "use strict";
                      Object.defineProperty(t, "__esModule", { value: !0 }),
                          (t.default = void 0);
                      var r = function e() {
                          !(function (e, t) {
                              if (!(e instanceof t))
                                  throw new TypeError(
                                      "Cannot call a class as a function"
                                  );
                          })(this, e);
                      };
                      (r.READY = "ready"),
                          (r.ERROR = "error"),
                          (r.VOLUMECHANGE = "volumechange"),
                          (r.FULLSCREENCHANGE = "fullscreenchange"),
                          (r.TIMEUPDATE = "timeupdate"),
                          (r.ENDED = "ended"),
                          (r.PAUSE = "pause"),
                          (r.FINISH = "finish"),
                          (r.SEEK = "seek"),
                          (r.REDRAW = "redraw"),
                          (r.AUDIOPROCESS = "audioprocess"),
                          (r.DEVICE_READY = "deviceReady"),
                          (r.DEVICE_ERROR = "deviceError"),
                          (r.AUDIO_OUTPUT_READY = "audioOutputReady"),
                          (r.WAVE_READY = "waveReady"),
                          (r.PLAYBACK_FINISH = "playbackFinish"),
                          (r.ABORT = "abort"),
                          (r.RESIZE = "resize"),
                          Object.freeze(r);
                      var i = r;
                      (t.default = i), (e.exports = t.default);
                  },
                  200: (e, t) => {
                      "use strict";
                      Object.defineProperty(t, "__esModule", { value: !0 }),
                          (t.default = void 0);
                      var r = {
                          setSource: function (e, t) {
                              if (this.player.usingPlugin("wavesurfer")) {
                                  var r =
                                          this.player.wavesurfer().surfer.params
                                              .backend,
                                      i = e.src,
                                      a = e.peaks;
                                  switch (r) {
                                      case "WebAudio":
                                          this.player.wavesurfer().load(i);
                                          break;
                                      default:
                                          t(null, e);
                                          var o = this.player.tech_.el();
                                          void 0 === a
                                              ? this.player.wavesurfer().load(o)
                                              : this.player
                                                    .wavesurfer()
                                                    .load(o, a);
                                  }
                              } else t(null, e);
                          },
                      };
                      (t.default = r), (e.exports = t.default);
                  },
                  518: (e, t, r) => {
                      "use strict";
                      Object.defineProperty(t, "__esModule", { value: !0 }),
                          (t.default = void 0);
                      var i = o(r(21)),
                          a = o(r(455));
                      function o(e) {
                          return e && e.__esModule ? e : { default: e };
                      }
                      var s = function (e, t) {
                          var r =
                              !(
                                  arguments.length > 2 && void 0 !== arguments[2]
                              ) || arguments[2];
                          (e = e < 0 ? 0 : e),
                              (isNaN(e) || e === 1 / 0) && (e = 0);
                          var o = (0, a.default)(1e3 * e),
                              s = o;
                          void 0 !== t && (s = (0, a.default)(1e3 * t));
                          var n = (0, i.default)(o.hours),
                              l = (0, i.default)(o.minutes),
                              u = (0, i.default)(o.seconds),
                              h = (0, i.default)(o.milliseconds, 3);
                          if (o.days > 0 || s.days > 0) {
                              var c = (0, i.default)(o.days);
                              return ""
                                  .concat(c, ":")
                                  .concat(n, ":")
                                  .concat(l, ":")
                                  .concat(u);
                          }
                          return o.hours > 0 || s.hours > 0
                              ? "".concat(n, ":").concat(l, ":").concat(u)
                              : r
                              ? "".concat(l, ":").concat(u, ":").concat(h)
                              : "".concat(l, ":").concat(u);
                      };
                      (t.default = s), (e.exports = t.default);
                  },
                  456: (e, t, r) => {
                      "use strict";
                      Object.defineProperty(t, "__esModule", { value: !0 }),
                          (t.default = void 0);
                      var i,
                          a = (i = r(390)) && i.__esModule ? i : { default: i };
                      var o = function (e, t, r) {
                          !0 === r &&
                              ("error" === t
                                  ? a.default.log.error(e)
                                  : "warn" === t
                                  ? a.default.log.warn(e)
                                  : a.default.log(e));
                      };
                      (t.default = o), (e.exports = t.default);
                  },
                  908: (e, t, r) => {
                      var i;
                      (i =
                          "undefined" != typeof window
                              ? window
                              : void 0 !== r.g
                              ? r.g
                              : "undefined" != typeof self
                              ? self
                              : {}),
                          (e.exports = i);
                  },
                  455: (e, t, r) => {
                      "use strict";
                      function i(e) {
                          if ("number" != typeof e)
                              throw new TypeError("Expected a number");
                          const t = e > 0 ? Math.floor : Math.ceil;
                          return {
                              days: t(e / 864e5),
                              hours: t(e / 36e5) % 24,
                              minutes: t(e / 6e4) % 60,
                              seconds: t(e / 1e3) % 60,
                              milliseconds: t(e) % 1e3,
                              microseconds: t(1e3 * e) % 1e3,
                              nanoseconds: t(1e6 * e) % 1e3,
                          };
                      }
                      r.r(t), r.d(t, { default: () => i });
                  },
                  390: (t) => {
                      "use strict";
                      t.exports = e;
                  },
                  410: (e) => {
                      "use strict";
                      e.exports = t;
                  },
              },
              i = {};
          function a(e) {
              var t = i[e];
              if (void 0 !== t) return t.exports;
              var o = (i[e] = { exports: {} });
              return r[e].call(o.exports, o, o.exports, a), o.exports;
          }
          (a.d = (e, t) => {
              for (var r in t)
                  a.o(t, r) &&
                      !a.o(e, r) &&
                      Object.defineProperty(e, r, { enumerable: !0, get: t[r] });
          }),
              (a.g = (function () {
                  if ("object" == typeof globalThis) return globalThis;
                  try {
                      return this || new Function("return this")();
                  } catch (e) {
                      if ("object" == typeof window) return window;
                  }
              })()),
              (a.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t)),
              (a.r = (e) => {
                  "undefined" != typeof Symbol &&
                      Symbol.toStringTag &&
                      Object.defineProperty(e, Symbol.toStringTag, {
                          value: "Module",
                      }),
                      Object.defineProperty(e, "__esModule", { value: !0 });
              });
          var o = {};
          return (
              (() => {
                  "use strict";
                  var e = o;
                  function t(e) {
                      return (t =
                          "function" == typeof Symbol &&
                          "symbol" == typeof Symbol.iterator
                              ? function (e) {
                                    return typeof e;
                                }
                              : function (e) {
                                    return e &&
                                        "function" == typeof Symbol &&
                                        e.constructor === Symbol &&
                                        e !== Symbol.prototype
                                        ? "symbol"
                                        : typeof e;
                                })(e);
                  }
                  Object.defineProperty(e, "__esModule", { value: !0 }),
                      (e.Wavesurfer = void 0);
                  var r = c(a(537)),
                      i = c(a(456)),
                      s = c(a(518)),
                      n = c(a(997)),
                      l = c(a(200)),
                      u = (c(a(908)), c(a(390))),
                      h = c(a(410));
                  function c(e) {
                      return e && e.__esModule ? e : { default: e };
                  }
                  function d(e, t) {
                      for (var r = 0; r < t.length; r++) {
                          var i = t[r];
                          (i.enumerable = i.enumerable || !1),
                              (i.configurable = !0),
                              "value" in i && (i.writable = !0),
                              Object.defineProperty(e, i.key, i);
                      }
                  }
                  function f(e, t) {
                      return (f =
                          Object.setPrototypeOf ||
                          function (e, t) {
                              return (e.__proto__ = t), e;
                          })(e, t);
                  }
                  function p(e) {
                      var t = (function () {
                          if ("undefined" == typeof Reflect || !Reflect.construct)
                              return !1;
                          if (Reflect.construct.sham) return !1;
                          if ("function" == typeof Proxy) return !0;
                          try {
                              return (
                                  Boolean.prototype.valueOf.call(
                                      Reflect.construct(
                                          Boolean,
                                          [],
                                          function () {}
                                      )
                                  ),
                                  !0
                              );
                          } catch (e) {
                              return !1;
                          }
                      })();
                      return function () {
                          var r,
                              i = g(e);
                          if (t) {
                              var a = g(this).constructor;
                              r = Reflect.construct(i, arguments, a);
                          } else r = i.apply(this, arguments);
                          return y(this, r);
                      };
                  }
                  function y(e, r) {
                      return !r || ("object" !== t(r) && "function" != typeof r)
                          ? v(e)
                          : r;
                  }
                  function v(e) {
                      if (void 0 === e)
                          throw new ReferenceError(
                              "this hasn't been initialised - super() hasn't been called"
                          );
                      return e;
                  }
                  function g(e) {
                      return (g = Object.setPrototypeOf
                          ? Object.getPrototypeOf
                          : function (e) {
                                return e.__proto__ || Object.getPrototypeOf(e);
                            })(e);
                  }
                  var m = u.default.getPlugin("plugin"),
                      b = "wavesurfer",
                      E = "vjs-wavedisplay",
                      k = "WebAudio",
                      w = "MediaElement",
                      T = (function (e) {
                          !(function (e, t) {
                              if ("function" != typeof t && null !== t)
                                  throw new TypeError(
                                      "Super expression must either be null or a function"
                                  );
                              (e.prototype = Object.create(t && t.prototype, {
                                  constructor: {
                                      value: e,
                                      writable: !0,
                                      configurable: !0,
                                  },
                              })),
                                  t && f(e, t);
                          })(c, e);
                          var t,
                              a,
                              o,
                              l = p(c);
                          function c(e, t) {
                              var i;
                              return (
                                  (function (e, t) {
                                      if (!(e instanceof t))
                                          throw new TypeError(
                                              "Cannot call a class as a function"
                                          );
                                  })(this, c),
                                  (i = l.call(this, e, t)),
                                  e.addClass("vjs-wavesurfer"),
                                  (t = u.default.mergeOptions(n.default, t)),
                                  (i.waveReady = !1),
                                  (i.waveFinished = !1),
                                  (i.liveMode = !1),
                                  (i.backend = null),
                                  (i.debug = "true" === t.debug.toString()),
                                  (i.textTracksEnabled =
                                      i.player.options_.tracks.length > 0),
                                  (i.displayMilliseconds = t.displayMilliseconds),
                                  t.formatTime &&
                                  "function" == typeof t.formatTime
                                      ? i.setFormatTime(t.formatTime)
                                      : i.setFormatTime(function (e, t) {
                                            return (0,
                                            s.default)(e, t, i.displayMilliseconds);
                                        }),
                                  i.player.one(
                                      r.default.READY,
                                      i.initialize.bind(v(i))
                                  ),
                                  i
                              );
                          }
                          return (
                              (t = c),
                              (a = [
                                  {
                                      key: "initialize",
                                      value: function () {
                                          var e = this;
                                          void 0 !== this.player.bigPlayButton &&
                                              this.player.bigPlayButton.hide();
                                          var t = this.parseOptions(
                                              this.player.options_.plugins
                                                  .wavesurfer
                                          );
                                          !0 === this.player.options_.controls &&
                                              (this.player.controlBar.show(),
                                              (this.player.controlBar.el_.style.display =
                                                  "flex"),
                                              this.backend === k &&
                                                  void 0 !==
                                                      this.player.controlBar
                                                          .progressControl &&
                                                  this.player.controlBar.progressControl.hide(),
                                              void 0 !==
                                                  this.player.controlBar
                                                      .pictureInPictureToggle &&
                                                  this.player.controlBar.pictureInPictureToggle.hide(),
                                              [
                                                  "currentTimeDisplay",
                                                  "timeDivider",
                                                  "durationDisplay",
                                              ].forEach(function (t) {
                                                  void 0 !==
                                                      (t =
                                                          e.player.controlBar[
                                                              t
                                                          ]) &&
                                                      ((t.el_.style.display =
                                                          "block"),
                                                      t.show());
                                              }),
                                              void 0 !==
                                                  this.player.controlBar
                                                      .remainingTimeDisplay &&
                                                  this.player.controlBar.remainingTimeDisplay.hide(),
                                              this.backend === k &&
                                                  void 0 !==
                                                      this.player.controlBar
                                                          .playToggle &&
                                                  (this.player.controlBar.playToggle.on(
                                                      ["tap", "click"],
                                                      this.onPlayToggle.bind(this)
                                                  ),
                                                  this.player.controlBar.playToggle.hide())),
                                              (this.surfer = h.default.create(t)),
                                              this.surfer.on(
                                                  r.default.ERROR,
                                                  this.onWaveError.bind(this)
                                              ),
                                              this.surfer.on(
                                                  r.default.FINISH,
                                                  this.onWaveFinish.bind(this)
                                              ),
                                              (this.backend =
                                                  this.surfer.params.backend),
                                              this.log(
                                                  "Using wavesurfer.js " +
                                                      this.backend +
                                                      " backend."
                                              ),
                                              "microphone" in
                                                  this.player
                                                      .wavesurfer()
                                                      .surfer.getActivePlugins() &&
                                                  ((this.liveMode = !0),
                                                  (this.waveReady = !0),
                                                  this.log(
                                                      "wavesurfer.js microphone plugin enabled."
                                                  ),
                                                  this.player.controlBar.playToggle.show(),
                                                  this.surfer.microphone.on(
                                                      r.default.DEVICE_ERROR,
                                                      this.onWaveError.bind(this)
                                                  )),
                                              (this.surferReady =
                                                  this.onWaveReady.bind(this)),
                                              this.backend === k &&
                                                  ((this.surferProgress =
                                                      this.onWaveProgress.bind(
                                                          this
                                                      )),
                                                  (this.surferSeek =
                                                      this.onWaveSeek.bind(this)),
                                                  this.player.muted() &&
                                                      this.setVolume(0)),
                                              this.liveMode ||
                                                  this.setupPlaybackEvents(!0),
                                              this.player.on(
                                                  r.default.VOLUMECHANGE,
                                                  this.onVolumeChange.bind(this)
                                              ),
                                              this.player.on(
                                                  r.default.FULLSCREENCHANGE,
                                                  this.onScreenChange.bind(this)
                                              ),
                                              !0 === this.player.options_.fluid &&
                                                  (this.surfer.drawer.wrapper.className =
                                                      E);
                                      },
                                  },
                                  {
                                      key: "parseOptions",
                                      value: function () {
                                          var e =
                                                  arguments.length > 0 &&
                                                  void 0 !== arguments[0]
                                                      ? arguments[0]
                                                      : {},
                                              t =
                                                  this.player.el_.getBoundingClientRect();
                                          (this.originalWidth =
                                              this.player.options_.width ||
                                              t.width),
                                              (this.originalHeight =
                                                  this.player.options_.height ||
                                                  t.height);
                                          var r = this.player.controlBar.height();
                                          if (
                                              (!0 ===
                                                  this.player.options_.controls &&
                                                  0 === r &&
                                                  (r = 30),
                                              void 0 === e.container &&
                                                  (e.container = this.player.el_),
                                              void 0 === e.waveformHeight)
                                          ) {
                                              var i = t.height;
                                              e.height = i - r;
                                          } else e.height = e.waveformHeight;
                                          return (
                                              e.splitChannels &&
                                                  !0 === e.splitChannels &&
                                                  (e.height /= 2),
                                              "backend" in e
                                                  ? (this.backend = e.backend)
                                                  : (e.backend = this.backend =
                                                        w),
                                              e
                                          );
                                      },
                                  },
                                  {
                                      key: "setupPlaybackEvents",
                                      value: function (e) {
                                          !1 === e
                                              ? (this.surfer.un(
                                                    r.default.READY,
                                                    this.surferReady
                                                ),
                                                this.backend === k &&
                                                    (this.surfer.un(
                                                        r.default.AUDIOPROCESS,
                                                        this.surferProgress
                                                    ),
                                                    this.surfer.un(
                                                        r.default.SEEK,
                                                        this.surferSeek
                                                    )))
                                              : !0 === e &&
                                                (this.surfer.on(
                                                    r.default.READY,
                                                    this.surferReady
                                                ),
                                                this.backend === k &&
                                                    (this.surfer.on(
                                                        r.default.AUDIOPROCESS,
                                                        this.surferProgress
                                                    ),
                                                    this.surfer.on(
                                                        r.default.SEEK,
                                                        this.surferSeek
                                                    )));
                                      },
                                  },
                                  {
                                      key: "load",
                                      value: function (e, t) {
                                          e instanceof Blob || e instanceof File
                                              ? (this.log(
                                                    "Loading object: " +
                                                        JSON.stringify(e)
                                                ),
                                                this.surfer.loadBlob(e))
                                              : void 0 !== t
                                              ? this.loadPeaks(e, t)
                                              : ("string" == typeof e
                                                    ? this.log(
                                                          "Loading URL: " + e
                                                      )
                                                    : this.log(
                                                          "Loading element: " + e
                                                      ),
                                                this.surfer.load(e));
                                      },
                                  },
                                  {
                                      key: "loadPeaks",
                                      value: function (e, t) {
                                          var i = this;
                                          if (Array.isArray(t))
                                              this.log(
                                                  "Loading URL with array of peaks: " +
                                                      e
                                              ),
                                                  this.surfer.load(e, t);
                                          else {
                                              var a = {
                                                  url: t,
                                                  responseType: "json",
                                              };
                                              void 0 !==
                                                  this.player.options_.plugins
                                                      .wavesurfer.xhr &&
                                                  (a.xhr =
                                                      this.player.options_.plugins.wavesurfer.xhr);
                                              var o = h.default.util.fetchFile(a);
                                              o.once("success", function (a) {
                                                  i.log(
                                                      "Loaded Peak Data URL: " + t
                                                  ),
                                                      a && a.data
                                                          ? i.surfer.load(
                                                                e,
                                                                a.data
                                                            )
                                                          : (i.player.trigger(
                                                                r.default.ERROR,
                                                                "Could not load peaks data from " +
                                                                    t
                                                            ),
                                                            i.log(err, "error"));
                                              }),
                                                  o.once("error", function (e) {
                                                      i.player.trigger(
                                                          r.default.ERROR,
                                                          "Unable to retrieve peak data from " +
                                                              t +
                                                              ". Status code: " +
                                                              o.response.status
                                                      );
                                                  });
                                          }
                                      },
                                  },
                                  {
                                      key: "play",
                                      value: function () {
                                          void 0 !==
                                              this.player.controlBar.playToggle &&
                                              this.player.controlBar.playToggle.contentEl() &&
                                              this.player.controlBar.playToggle.handlePlay(),
                                              this.liveMode
                                                  ? this.surfer.microphone.active
                                                      ? this.surfer.microphone
                                                            .paused
                                                          ? (this.log(
                                                                "Resume microphone"
                                                            ),
                                                            this.surfer.microphone.play())
                                                          : this.pause()
                                                      : (this.log(
                                                            "Start microphone"
                                                        ),
                                                        this.surfer.microphone.start())
                                                  : (this.log("Start playback"),
                                                    this.player.play(),
                                                    this.surfer.play());
                                      },
                                  },
                                  {
                                      key: "pause",
                                      value: function () {
                                          void 0 !==
                                              this.player.controlBar.playToggle &&
                                              this.player.controlBar.playToggle.contentEl() &&
                                              this.player.controlBar.playToggle.handlePause(),
                                              this.liveMode
                                                  ? (this.log("Pause microphone"),
                                                    this.surfer.microphone.pause())
                                                  : (this.log("Pause playback"),
                                                    this.waveFinished
                                                        ? (this.waveFinished = !1)
                                                        : this.surfer.pause(),
                                                    this.setCurrentTime());
                                      },
                                  },
                                  {
                                      key: "dispose",
                                      value: function () {
                                          this.surfer &&
                                              (this.liveMode &&
                                                  this.surfer.microphone &&
                                                  (this.surfer.microphone.destroy(),
                                                  this.log(
                                                      "Destroyed microphone plugin"
                                                  )),
                                              this.surfer.destroy()),
                                              this.log("Destroyed plugin");
                                      },
                                  },
                                  {
                                      key: "isDestroyed",
                                      value: function () {
                                          return (
                                              this.player &&
                                              null === this.player.children()
                                          );
                                      },
                                  },
                                  {
                                      key: "destroy",
                                      value: function () {
                                          this.player.dispose();
                                      },
                                  },
                                  {
                                      key: "setVolume",
                                      value: function (e) {
                                          void 0 !== e &&
                                              (this.log(
                                                  "Changing volume to: " + e
                                              ),
                                              this.player.volume(e));
                                      },
                                  },
                                  {
                                      key: "exportImage",
                                      value: function (e, t) {
                                          var r =
                                              arguments.length > 2 &&
                                              void 0 !== arguments[2]
                                                  ? arguments[2]
                                                  : "blob";
                                          return this.surfer.exportImage(e, t, r);
                                      },
                                  },
                                  {
                                      key: "setAudioOutput",
                                      value: function (e) {
                                          var t = this;
                                          e &&
                                              this.surfer
                                                  .setSinkId(e)
                                                  .then(function (e) {
                                                      t.player.trigger(
                                                          r.default
                                                              .AUDIO_OUTPUT_READY
                                                      );
                                                  })
                                                  .catch(function (e) {
                                                      t.player.trigger(
                                                          r.default.ERROR,
                                                          e
                                                      ),
                                                          t.log(e, "error");
                                                  });
                                      },
                                  },
                                  {
                                      key: "getCurrentTime",
                                      value: function () {
                                          var e = this.surfer.getCurrentTime();
                                          return (e = isNaN(e) ? 0 : e);
                                      },
                                  },
                                  {
                                      key: "setCurrentTime",
                                      value: function (e, t) {
                                          if (
                                              (void 0 === e &&
                                                  (e =
                                                      this.surfer.getCurrentTime()),
                                              void 0 === t &&
                                                  (t = this.surfer.getDuration()),
                                              (e = isNaN(e) ? 0 : e),
                                              (t = isNaN(t) ? 0 : t),
                                              this.player.controlBar
                                                  .currentTimeDisplay &&
                                                  this.player.controlBar.currentTimeDisplay.contentEl() &&
                                                  this.player.controlBar.currentTimeDisplay.contentEl()
                                                      .lastChild)
                                          ) {
                                              var r = Math.min(e, t);
                                              this.player.controlBar.currentTimeDisplay.formattedTime_ =
                                                  this.player.controlBar.currentTimeDisplay.contentEl().lastChild.textContent =
                                                      this._formatTime(
                                                          r,
                                                          t,
                                                          this.displayMilliseconds
                                                      );
                                          }
                                          this.textTracksEnabled &&
                                              this.player.tech_ &&
                                              this.player.tech_.el_ &&
                                              this.player.tech_.setCurrentTime(e);
                                      },
                                  },
                                  {
                                      key: "getDuration",
                                      value: function () {
                                          var e = this.surfer.getDuration();
                                          return (e = isNaN(e) ? 0 : e);
                                      },
                                  },
                                  {
                                      key: "setDuration",
                                      value: function (e) {
                                          void 0 === e &&
                                              (e = this.surfer.getDuration()),
                                              (e = isNaN(e) ? 0 : e),
                                              this.player.controlBar
                                                  .durationDisplay &&
                                                  this.player.controlBar.durationDisplay.contentEl() &&
                                                  this.player.controlBar.durationDisplay.contentEl()
                                                      .lastChild &&
                                                  (this.player.controlBar.durationDisplay.formattedTime_ =
                                                      this.player.controlBar.durationDisplay.contentEl().lastChild.textContent =
                                                          this._formatTime(
                                                              e,
                                                              e,
                                                              this
                                                                  .displayMilliseconds
                                                          ));
                                      },
                                  },
                                  {
                                      key: "onWaveReady",
                                      value: function () {
                                          var e = this;
                                          (this.waveReady = !0),
                                              (this.waveFinished = !1),
                                              (this.liveMode = !1),
                                              this.log("Waveform is ready"),
                                              this.player.trigger(
                                                  r.default.WAVE_READY
                                              ),
                                              this.backend === k &&
                                                  (this.setCurrentTime(),
                                                  this.setDuration(),
                                                  void 0 !==
                                                      this.player.controlBar
                                                          .playToggle &&
                                                      this.player.controlBar.playToggle.contentEl() &&
                                                      this.player.controlBar.playToggle.show()),
                                              this.player.loadingSpinner.contentEl() &&
                                                  this.player.loadingSpinner.hide(),
                                              !0 ===
                                                  this.player.options_.autoplay &&
                                                  (this.setVolume(0),
                                                  this.backend === k
                                                      ? this.play()
                                                      : this.player
                                                            .play()
                                                            .catch(function (t) {
                                                                e.onWaveError(t);
                                                            }));
                                      },
                                  },
                                  {
                                      key: "onWaveFinish",
                                      value: function () {
                                          var e = this;
                                          this.log("Finished playback"),
                                              this.player.trigger(
                                                  r.default.PLAYBACK_FINISH
                                              ),
                                              !0 === this.player.options_.loop
                                                  ? this.backend === k &&
                                                    (this.surfer.stop(),
                                                    this.play())
                                                  : ((this.waveFinished = !0),
                                                    this.backend === k &&
                                                        (this.pause(),
                                                        this.player.trigger(
                                                            r.default.ENDED
                                                        ),
                                                        this.surfer.once(
                                                            r.default.SEEK,
                                                            function () {
                                                                void 0 !==
                                                                    e.player
                                                                        .controlBar
                                                                        .playToggle &&
                                                                    e.player.controlBar.playToggle.removeClass(
                                                                        "vjs-ended"
                                                                    ),
                                                                    e.player.trigger(
                                                                        r.default
                                                                            .PAUSE
                                                                    );
                                                            }
                                                        )));
                                      },
                                  },
                                  {
                                      key: "onWaveProgress",
                                      value: function (e) {
                                          this.setCurrentTime();
                                      },
                                  },
                                  {
                                      key: "onWaveSeek",
                                      value: function () {
                                          this.setCurrentTime();
                                      },
                                  },
                                  {
                                      key: "onWaveError",
                                      value: function (e) {
                                          (e.name && "AbortError" === e.name) ||
                                          ("DOMException" === e.name &&
                                              e.message.startsWith(
                                                  "The operation was aborted"
                                              ))
                                              ? this.player.trigger(
                                                    r.default.ABORT,
                                                    e
                                                )
                                              : (this.player.trigger(
                                                    r.default.ERROR,
                                                    e
                                                ),
                                                this.log(e, "error"));
                                      },
                                  },
                                  {
                                      key: "onPlayToggle",
                                      value: function () {
                                          void 0 !==
                                              this.player.controlBar.playToggle &&
                                              this.player.controlBar.playToggle.hasClass(
                                                  "vjs-ended"
                                              ) &&
                                              this.player.controlBar.playToggle.removeClass(
                                                  "vjs-ended"
                                              ),
                                              this.surfer.isPlaying()
                                                  ? this.pause()
                                                  : this.play();
                                      },
                                  },
                                  {
                                      key: "onVolumeChange",
                                      value: function () {
                                          var e = this.player.volume();
                                          this.player.muted() && (e = 0),
                                              this.surfer.setVolume(e);
                                      },
                                  },
                                  {
                                      key: "onScreenChange",
                                      value: function () {
                                          var e = this,
                                              t = this.player.setInterval(
                                                  function () {
                                                      var r, i;
                                                      if (
                                                          (e.player.isFullscreen() ||
                                                              ((r =
                                                                  e.originalWidth),
                                                              (i =
                                                                  e.originalHeight)),
                                                          e.waveReady)
                                                      ) {
                                                          if (
                                                              e.liveMode &&
                                                              !e.surfer.microphone
                                                                  .active
                                                          )
                                                              return;
                                                          e.redrawWaveform(r, i);
                                                      }
                                                      e.player.clearInterval(t);
                                                  },
                                                  100
                                              );
                                      },
                                  },
                                  {
                                      key: "redrawWaveform",
                                      value: function (e, t) {
                                          if (!this.isDestroyed()) {
                                              if (this.player.el_) {
                                                  var r =
                                                      this.player.el_.getBoundingClientRect();
                                                  void 0 === e && (e = r.width),
                                                      void 0 === t &&
                                                          (t = r.height);
                                              }
                                              this.surfer.drawer.destroy(),
                                                  (this.surfer.params.width = e),
                                                  (this.surfer.params.height =
                                                      t -
                                                      this.player.controlBar.height()),
                                                  this.surfer.createDrawer(),
                                                  (this.surfer.drawer.wrapper.className =
                                                      E),
                                                  this.surfer.drawBuffer(),
                                                  this.surfer.drawer.progress(
                                                      this.surfer.backend.getPlayedPercents()
                                                  );
                                          }
                                      },
                                  },
                                  {
                                      key: "log",
                                      value: function (e, t) {
                                          (0, i.default)(e, t, this.debug);
                                      },
                                  },
                                  {
                                      key: "setFormatTime",
                                      value: function (e) {
                                          (this._formatTime = e),
                                              u.default.setFormatTime(
                                                  this._formatTime
                                              );
                                      },
                                  },
                              ]) && d(t.prototype, a),
                              o && d(t, o),
                              c
                          );
                      })(m);
                  (e.Wavesurfer = T),
                      (T.VERSION = "3.8.0"),
                      (u.default.Wavesurfer = T),
                      void 0 === u.default.getPlugin(b) &&
                          u.default.registerPlugin(b, T),
                      u.default.use("*", function (e) {
                          return (l.default.player = e), l.default;
                      });
              })(),
              o
          );
      })();
  });
  /*!
   * videojs-wavesurfer
   * @version 3.8.0
   * @see https://github.com/collab-project/videojs-wavesurfer
   * @copyright 2014-2021 Collab
   * @license MIT
   */
  !(function (e, t) {
      "object" == typeof exports && "object" == typeof module
          ? (module.exports = t(require("video.js"), require("wavesurfer.js")))
          : "function" == typeof define && define.amd
          ? define("VideojsWavesurfer", ["video.js", "wavesurfer.js"], t)
          : "object" == typeof exports
          ? (exports.VideojsWavesurfer = t(
                require("video.js"),
                require("wavesurfer.js")
            ))
          : (e.VideojsWavesurfer = t(e.videojs, e.WaveSurfer));
  })(self, function (e, t) {
      return (() => {
          var r = {
                  21: function (e, t, r) {
                      var i;
                      !(function (t) {
                          "use strict";
                          function a(e, t) {
                              t = t || 2;
                              var r,
                                  i = Number(e) < 0,
                                  a = e.toString();
                              return (
                                  i && (a = a.slice(1)),
                                  (r = t - a.length + 1),
                                  (i ? "-" : "") +
                                      (a = new Array(r).join("0").concat(a))
                              );
                          }
                          void 0 ===
                              (i = function () {
                                  return a;
                              }.call(t, r, t, e)) || (e.exports = i);
                      })(this);
                  },
                  997: (e, t) => {
                      "use strict";
                      Object.defineProperty(t, "__esModule", { value: !0 }),
                          (t.default = void 0);
                      var r = { debug: !1, displayMilliseconds: !0 };
                      (t.default = r), (e.exports = t.default);
                  },
                  537: (e, t) => {
                      "use strict";
                      Object.defineProperty(t, "__esModule", { value: !0 }),
                          (t.default = void 0);
                      var r = function e() {
                          !(function (e, t) {
                              if (!(e instanceof t))
                                  throw new TypeError(
                                      "Cannot call a class as a function"
                                  );
                          })(this, e);
                      };
                      (r.READY = "ready"),
                          (r.ERROR = "error"),
                          (r.VOLUMECHANGE = "volumechange"),
                          (r.FULLSCREENCHANGE = "fullscreenchange"),
                          (r.TIMEUPDATE = "timeupdate"),
                          (r.ENDED = "ended"),
                          (r.PAUSE = "pause"),
                          (r.FINISH = "finish"),
                          (r.SEEK = "seek"),
                          (r.REDRAW = "redraw"),
                          (r.AUDIOPROCESS = "audioprocess"),
                          (r.DEVICE_READY = "deviceReady"),
                          (r.DEVICE_ERROR = "deviceError"),
                          (r.AUDIO_OUTPUT_READY = "audioOutputReady"),
                          (r.WAVE_READY = "waveReady"),
                          (r.PLAYBACK_FINISH = "playbackFinish"),
                          (r.ABORT = "abort"),
                          (r.RESIZE = "resize"),
                          Object.freeze(r);
                      var i = r;
                      (t.default = i), (e.exports = t.default);
                  },
                  200: (e, t) => {
                      "use strict";
                      Object.defineProperty(t, "__esModule", { value: !0 }),
                          (t.default = void 0);
                      var r = {
                          setSource: function (e, t) {
                              if (this.player.usingPlugin("wavesurfer")) {
                                  var r =
                                          this.player.wavesurfer().surfer.params
                                              .backend,
                                      i = e.src,
                                      a = e.peaks;
                                  switch (r) {
                                      case "WebAudio":
                                          this.player.wavesurfer().load(i);
                                          break;
                                      default:
                                          t(null, e);
                                          var o = this.player.tech_.el();
                                          void 0 === a
                                              ? this.player.wavesurfer().load(o)
                                              : this.player
                                                    .wavesurfer()
                                                    .load(o, a);
                                  }
                              } else t(null, e);
                          },
                      };
                      (t.default = r), (e.exports = t.default);
                  },
                  518: (e, t, r) => {
                      "use strict";
                      Object.defineProperty(t, "__esModule", { value: !0 }),
                          (t.default = void 0);
                      var i = o(r(21)),
                          a = o(r(455));
                      function o(e) {
                          return e && e.__esModule ? e : { default: e };
                      }
                      var s = function (e, t) {
                          var r =
                              !(
                                  arguments.length > 2 && void 0 !== arguments[2]
                              ) || arguments[2];
                          (e = e < 0 ? 0 : e),
                              (isNaN(e) || e === 1 / 0) && (e = 0);
                          var o = (0, a.default)(1e3 * e),
                              s = o;
                          void 0 !== t && (s = (0, a.default)(1e3 * t));
                          var n = (0, i.default)(o.hours),
                              l = (0, i.default)(o.minutes),
                              u = (0, i.default)(o.seconds),
                              h = (0, i.default)(o.milliseconds, 3);
                          if (o.days > 0 || s.days > 0) {
                              var c = (0, i.default)(o.days);
                              return ""
                                  .concat(c, ":")
                                  .concat(n, ":")
                                  .concat(l, ":")
                                  .concat(u);
                          }
                          return o.hours > 0 || s.hours > 0
                              ? "".concat(n, ":").concat(l, ":").concat(u)
                              : r
                              ? "".concat(l, ":").concat(u, ":").concat(h)
                              : "".concat(l, ":").concat(u);
                      };
                      (t.default = s), (e.exports = t.default);
                  },
                  456: (e, t, r) => {
                      "use strict";
                      Object.defineProperty(t, "__esModule", { value: !0 }),
                          (t.default = void 0);
                      var i,
                          a = (i = r(390)) && i.__esModule ? i : { default: i };
                      var o = function (e, t, r) {
                          !0 === r &&
                              ("error" === t
                                  ? a.default.log.error(e)
                                  : "warn" === t
                                  ? a.default.log.warn(e)
                                  : a.default.log(e));
                      };
                      (t.default = o), (e.exports = t.default);
                  },
                  908: (e, t, r) => {
                      var i;
                      (i =
                          "undefined" != typeof window
                              ? window
                              : void 0 !== r.g
                              ? r.g
                              : "undefined" != typeof self
                              ? self
                              : {}),
                          (e.exports = i);
                  },
                  455: (e, t, r) => {
                      "use strict";
                      function i(e) {
                          if ("number" != typeof e)
                              throw new TypeError("Expected a number");
                          const t = e > 0 ? Math.floor : Math.ceil;
                          return {
                              days: t(e / 864e5),
                              hours: t(e / 36e5) % 24,
                              minutes: t(e / 6e4) % 60,
                              seconds: t(e / 1e3) % 60,
                              milliseconds: t(e) % 1e3,
                              microseconds: t(1e3 * e) % 1e3,
                              nanoseconds: t(1e6 * e) % 1e3,
                          };
                      }
                      r.r(t), r.d(t, { default: () => i });
                  },
                  390: (t) => {
                      "use strict";
                      t.exports = e;
                  },
                  410: (e) => {
                      "use strict";
                      e.exports = t;
                  },
              },
              i = {};
          function a(e) {
              var t = i[e];
              if (void 0 !== t) return t.exports;
              var o = (i[e] = { exports: {} });
              return r[e].call(o.exports, o, o.exports, a), o.exports;
          }
          (a.d = (e, t) => {
              for (var r in t)
                  a.o(t, r) &&
                      !a.o(e, r) &&
                      Object.defineProperty(e, r, { enumerable: !0, get: t[r] });
          }),
              (a.g = (function () {
                  if ("object" == typeof globalThis) return globalThis;
                  try {
                      return this || new Function("return this")();
                  } catch (e) {
                      if ("object" == typeof window) return window;
                  }
              })()),
              (a.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t)),
              (a.r = (e) => {
                  "undefined" != typeof Symbol &&
                      Symbol.toStringTag &&
                      Object.defineProperty(e, Symbol.toStringTag, {
                          value: "Module",
                      }),
                      Object.defineProperty(e, "__esModule", { value: !0 });
              });
          var o = {};
          return (
              (() => {
                  "use strict";
                  var e = o;
                  function t(e) {
                      return (t =
                          "function" == typeof Symbol &&
                          "symbol" == typeof Symbol.iterator
                              ? function (e) {
                                    return typeof e;
                                }
                              : function (e) {
                                    return e &&
                                        "function" == typeof Symbol &&
                                        e.constructor === Symbol &&
                                        e !== Symbol.prototype
                                        ? "symbol"
                                        : typeof e;
                                })(e);
                  }
                  Object.defineProperty(e, "__esModule", { value: !0 }),
                      (e.Wavesurfer = void 0);
                  var r = c(a(537)),
                      i = c(a(456)),
                      s = c(a(518)),
                      n = c(a(997)),
                      l = c(a(200)),
                      u = (c(a(908)), c(a(390))),
                      h = c(a(410));
                  function c(e) {
                      return e && e.__esModule ? e : { default: e };
                  }
                  function d(e, t) {
                      for (var r = 0; r < t.length; r++) {
                          var i = t[r];
                          (i.enumerable = i.enumerable || !1),
                              (i.configurable = !0),
                              "value" in i && (i.writable = !0),
                              Object.defineProperty(e, i.key, i);
                      }
                  }
                  function f(e, t) {
                      return (f =
                          Object.setPrototypeOf ||
                          function (e, t) {
                              return (e.__proto__ = t), e;
                          })(e, t);
                  }
                  function p(e) {
                      var t = (function () {
                          if ("undefined" == typeof Reflect || !Reflect.construct)
                              return !1;
                          if (Reflect.construct.sham) return !1;
                          if ("function" == typeof Proxy) return !0;
                          try {
                              return (
                                  Boolean.prototype.valueOf.call(
                                      Reflect.construct(
                                          Boolean,
                                          [],
                                          function () {}
                                      )
                                  ),
                                  !0
                              );
                          } catch (e) {
                              return !1;
                          }
                      })();
                      return function () {
                          var r,
                              i = g(e);
                          if (t) {
                              var a = g(this).constructor;
                              r = Reflect.construct(i, arguments, a);
                          } else r = i.apply(this, arguments);
                          return y(this, r);
                      };
                  }
                  function y(e, r) {
                      return !r || ("object" !== t(r) && "function" != typeof r)
                          ? v(e)
                          : r;
                  }
                  function v(e) {
                      if (void 0 === e)
                          throw new ReferenceError(
                              "this hasn't been initialised - super() hasn't been called"
                          );
                      return e;
                  }
                  function g(e) {
                      return (g = Object.setPrototypeOf
                          ? Object.getPrototypeOf
                          : function (e) {
                                return e.__proto__ || Object.getPrototypeOf(e);
                            })(e);
                  }
                  var m = u.default.getPlugin("plugin"),
                      b = "wavesurfer",
                      E = "vjs-wavedisplay",
                      k = "WebAudio",
                      w = "MediaElement",
                      T = (function (e) {
                          !(function (e, t) {
                              if ("function" != typeof t && null !== t)
                                  throw new TypeError(
                                      "Super expression must either be null or a function"
                                  );
                              (e.prototype = Object.create(t && t.prototype, {
                                  constructor: {
                                      value: e,
                                      writable: !0,
                                      configurable: !0,
                                  },
                              })),
                                  t && f(e, t);
                          })(c, e);
                          var t,
                              a,
                              o,
                              l = p(c);
                          function c(e, t) {
                              var i;
                              return (
                                  (function (e, t) {
                                      if (!(e instanceof t))
                                          throw new TypeError(
                                              "Cannot call a class as a function"
                                          );
                                  })(this, c),
                                  (i = l.call(this, e, t)),
                                  e.addClass("vjs-wavesurfer"),
                                  (t = u.default.mergeOptions(n.default, t)),
                                  (i.waveReady = !1),
                                  (i.waveFinished = !1),
                                  (i.liveMode = !1),
                                  (i.backend = null),
                                  (i.debug = "true" === t.debug.toString()),
                                  (i.textTracksEnabled =
                                      i.player.options_.tracks.length > 0),
                                  (i.displayMilliseconds = t.displayMilliseconds),
                                  t.formatTime &&
                                  "function" == typeof t.formatTime
                                      ? i.setFormatTime(t.formatTime)
                                      : i.setFormatTime(function (e, t) {
                                            return (0,
                                            s.default)(e, t, i.displayMilliseconds);
                                        }),
                                  i.player.one(
                                      r.default.READY,
                                      i.initialize.bind(v(i))
                                  ),
                                  i
                              );
                          }
                          return (
                              (t = c),
                              (a = [
                                  {
                                      key: "initialize",
                                      value: function () {
                                          var e = this;
                                          void 0 !== this.player.bigPlayButton &&
                                              this.player.bigPlayButton.hide();
                                          var t = this.parseOptions(
                                              this.player.options_.plugins
                                                  .wavesurfer
                                          );
                                          !0 === this.player.options_.controls &&
                                              (this.player.controlBar.show(),
                                              (this.player.controlBar.el_.style.display =
                                                  "flex"),
                                              this.backend === k &&
                                                  void 0 !==
                                                      this.player.controlBar
                                                          .progressControl &&
                                                  this.player.controlBar.progressControl.hide(),
                                              void 0 !==
                                                  this.player.controlBar
                                                      .pictureInPictureToggle &&
                                                  this.player.controlBar.pictureInPictureToggle.hide(),
                                              [
                                                  "currentTimeDisplay",
                                                  "timeDivider",
                                                  "durationDisplay",
                                              ].forEach(function (t) {
                                                  void 0 !==
                                                      (t =
                                                          e.player.controlBar[
                                                              t
                                                          ]) &&
                                                      ((t.el_.style.display =
                                                          "block"),
                                                      t.show());
                                              }),
                                              void 0 !==
                                                  this.player.controlBar
                                                      .remainingTimeDisplay &&
                                                  this.player.controlBar.remainingTimeDisplay.hide(),
                                              this.backend === k &&
                                                  void 0 !==
                                                      this.player.controlBar
                                                          .playToggle &&
                                                  (this.player.controlBar.playToggle.on(
                                                      ["tap", "click"],
                                                      this.onPlayToggle.bind(this)
                                                  ),
                                                  this.player.controlBar.playToggle.hide())),
                                              (this.surfer = h.default.create(t)),
                                              this.surfer.on(
                                                  r.default.ERROR,
                                                  this.onWaveError.bind(this)
                                              ),
                                              this.surfer.on(
                                                  r.default.FINISH,
                                                  this.onWaveFinish.bind(this)
                                              ),
                                              (this.backend =
                                                  this.surfer.params.backend),
                                              this.log(
                                                  "Using wavesurfer.js " +
                                                      this.backend +
                                                      " backend."
                                              ),
                                              "microphone" in
                                                  this.player
                                                      .wavesurfer()
                                                      .surfer.getActivePlugins() &&
                                                  ((this.liveMode = !0),
                                                  (this.waveReady = !0),
                                                  this.log(
                                                      "wavesurfer.js microphone plugin enabled."
                                                  ),
                                                  this.player.controlBar.playToggle.show(),
                                                  this.surfer.microphone.on(
                                                      r.default.DEVICE_ERROR,
                                                      this.onWaveError.bind(this)
                                                  )),
                                              (this.surferReady =
                                                  this.onWaveReady.bind(this)),
                                              this.backend === k &&
                                                  ((this.surferProgress =
                                                      this.onWaveProgress.bind(
                                                          this
                                                      )),
                                                  (this.surferSeek =
                                                      this.onWaveSeek.bind(this)),
                                                  this.player.muted() &&
                                                      this.setVolume(0)),
                                              this.liveMode ||
                                                  this.setupPlaybackEvents(!0),
                                              this.player.on(
                                                  r.default.VOLUMECHANGE,
                                                  this.onVolumeChange.bind(this)
                                              ),
                                              this.player.on(
                                                  r.default.FULLSCREENCHANGE,
                                                  this.onScreenChange.bind(this)
                                              ),
                                              !0 === this.player.options_.fluid &&
                                                  (this.surfer.drawer.wrapper.className =
                                                      E);
                                      },
                                  },
                                  {
                                      key: "parseOptions",
                                      value: function () {
                                          var e =
                                                  arguments.length > 0 &&
                                                  void 0 !== arguments[0]
                                                      ? arguments[0]
                                                      : {},
                                              t =
                                                  this.player.el_.getBoundingClientRect();
                                          (this.originalWidth =
                                              this.player.options_.width ||
                                              t.width),
                                              (this.originalHeight =
                                                  this.player.options_.height ||
                                                  t.height);
                                          var r = this.player.controlBar.height();
                                          if (
                                              (!0 ===
                                                  this.player.options_.controls &&
                                                  0 === r &&
                                                  (r = 30),
                                              void 0 === e.container &&
                                                  (e.container = this.player.el_),
                                              void 0 === e.waveformHeight)
                                          ) {
                                              var i = t.height;
                                              e.height = i - r;
                                          } else e.height = e.waveformHeight;
                                          return (
                                              e.splitChannels &&
                                                  !0 === e.splitChannels &&
                                                  (e.height /= 2),
                                              "backend" in e
                                                  ? (this.backend = e.backend)
                                                  : (e.backend = this.backend =
                                                        w),
                                              e
                                          );
                                      },
                                  },
                                  {
                                      key: "setupPlaybackEvents",
                                      value: function (e) {
                                          !1 === e
                                              ? (this.surfer.un(
                                                    r.default.READY,
                                                    this.surferReady
                                                ),
                                                this.backend === k &&
                                                    (this.surfer.un(
                                                        r.default.AUDIOPROCESS,
                                                        this.surferProgress
                                                    ),
                                                    this.surfer.un(
                                                        r.default.SEEK,
                                                        this.surferSeek
                                                    )))
                                              : !0 === e &&
                                                (this.surfer.on(
                                                    r.default.READY,
                                                    this.surferReady
                                                ),
                                                this.backend === k &&
                                                    (this.surfer.on(
                                                        r.default.AUDIOPROCESS,
                                                        this.surferProgress
                                                    ),
                                                    this.surfer.on(
                                                        r.default.SEEK,
                                                        this.surferSeek
                                                    )));
                                      },
                                  },
                                  {
                                      key: "load",
                                      value: function (e, t) {
                                          e instanceof Blob || e instanceof File
                                              ? (this.log(
                                                    "Loading object: " +
                                                        JSON.stringify(e)
                                                ),
                                                this.surfer.loadBlob(e))
                                              : void 0 !== t
                                              ? this.loadPeaks(e, t)
                                              : ("string" == typeof e
                                                    ? this.log(
                                                          "Loading URL: " + e
                                                      )
                                                    : this.log(
                                                          "Loading element: " + e
                                                      ),
                                                this.surfer.load(e));
                                      },
                                  },
                                  {
                                      key: "loadPeaks",
                                      value: function (e, t) {
                                          var i = this;
                                          if (Array.isArray(t))
                                              this.log(
                                                  "Loading URL with array of peaks: " +
                                                      e
                                              ),
                                                  this.surfer.load(e, t);
                                          else {
                                              var a = {
                                                  url: t,
                                                  responseType: "json",
                                              };
                                              void 0 !==
                                                  this.player.options_.plugins
                                                      .wavesurfer.xhr &&
                                                  (a.xhr =
                                                      this.player.options_.plugins.wavesurfer.xhr);
                                              var o = h.default.util.fetchFile(a);
                                              o.once("success", function (a) {
                                                  i.log(
                                                      "Loaded Peak Data URL: " + t
                                                  ),
                                                      a && a.data
                                                          ? i.surfer.load(
                                                                e,
                                                                a.data
                                                            )
                                                          : (i.player.trigger(
                                                                r.default.ERROR,
                                                                "Could not load peaks data from " +
                                                                    t
                                                            ),
                                                            i.log(err, "error"));
                                              }),
                                                  o.once("error", function (e) {
                                                      i.player.trigger(
                                                          r.default.ERROR,
                                                          "Unable to retrieve peak data from " +
                                                              t +
                                                              ". Status code: " +
                                                              o.response.status
                                                      );
                                                  });
                                          }
                                      },
                                  },
                                  {
                                      key: "play",
                                      value: function () {
                                          void 0 !==
                                              this.player.controlBar.playToggle &&
                                              this.player.controlBar.playToggle.contentEl() &&
                                              this.player.controlBar.playToggle.handlePlay(),
                                              this.liveMode
                                                  ? this.surfer.microphone.active
                                                      ? this.surfer.microphone
                                                            .paused
                                                          ? (this.log(
                                                                "Resume microphone"
                                                            ),
                                                            this.surfer.microphone.play())
                                                          : this.pause()
                                                      : (this.log(
                                                            "Start microphone"
                                                        ),
                                                        this.surfer.microphone.start())
                                                  : (this.log("Start playback"),
                                                    this.player.play(),
                                                    this.surfer.play());
                                      },
                                  },
                                  {
                                      key: "pause",
                                      value: function () {
                                          void 0 !==
                                              this.player.controlBar.playToggle &&
                                              this.player.controlBar.playToggle.contentEl() &&
                                              this.player.controlBar.playToggle.handlePause(),
                                              this.liveMode
                                                  ? (this.log("Pause microphone"),
                                                    this.surfer.microphone.pause())
                                                  : (this.log("Pause playback"),
                                                    this.waveFinished
                                                        ? (this.waveFinished = !1)
                                                        : this.surfer.pause(),
                                                    this.setCurrentTime());
                                      },
                                  },
                                  {
                                      key: "dispose",
                                      value: function () {
                                          this.surfer &&
                                              (this.liveMode &&
                                                  this.surfer.microphone &&
                                                  (this.surfer.microphone.destroy(),
                                                  this.log(
                                                      "Destroyed microphone plugin"
                                                  )),
                                              this.surfer.destroy()),
                                              this.log("Destroyed plugin");
                                      },
                                  },
                                  {
                                      key: "isDestroyed",
                                      value: function () {
                                          return (
                                              this.player &&
                                              null === this.player.children()
                                          );
                                      },
                                  },
                                  {
                                      key: "destroy",
                                      value: function () {
                                          this.player.dispose();
                                      },
                                  },
                                  {
                                      key: "setVolume",
                                      value: function (e) {
                                          void 0 !== e &&
                                              (this.log(
                                                  "Changing volume to: " + e
                                              ),
                                              this.player.volume(e));
                                      },
                                  },
                                  {
                                      key: "exportImage",
                                      value: function (e, t) {
                                          var r =
                                              arguments.length > 2 &&
                                              void 0 !== arguments[2]
                                                  ? arguments[2]
                                                  : "blob";
                                          return this.surfer.exportImage(e, t, r);
                                      },
                                  },
                                  {
                                      key: "setAudioOutput",
                                      value: function (e) {
                                          var t = this;
                                          e &&
                                              this.surfer
                                                  .setSinkId(e)
                                                  .then(function (e) {
                                                      t.player.trigger(
                                                          r.default
                                                              .AUDIO_OUTPUT_READY
                                                      );
                                                  })
                                                  .catch(function (e) {
                                                      t.player.trigger(
                                                          r.default.ERROR,
                                                          e
                                                      ),
                                                          t.log(e, "error");
                                                  });
                                      },
                                  },
                                  {
                                      key: "getCurrentTime",
                                      value: function () {
                                          var e = this.surfer.getCurrentTime();
                                          return (e = isNaN(e) ? 0 : e);
                                      },
                                  },
                                  {
                                      key: "setCurrentTime",
                                      value: function (e, t) {
                                          if (
                                              (void 0 === e &&
                                                  (e =
                                                      this.surfer.getCurrentTime()),
                                              void 0 === t &&
                                                  (t = this.surfer.getDuration()),
                                              (e = isNaN(e) ? 0 : e),
                                              (t = isNaN(t) ? 0 : t),
                                              this.player.controlBar
                                                  .currentTimeDisplay &&
                                                  this.player.controlBar.currentTimeDisplay.contentEl() &&
                                                  this.player.controlBar.currentTimeDisplay.contentEl()
                                                      .lastChild)
                                          ) {
                                              var r = Math.min(e, t);
                                              this.player.controlBar.currentTimeDisplay.formattedTime_ =
                                                  this.player.controlBar.currentTimeDisplay.contentEl().lastChild.textContent =
                                                      this._formatTime(
                                                          r,
                                                          t,
                                                          this.displayMilliseconds
                                                      );
                                          }
                                          this.textTracksEnabled &&
                                              this.player.tech_ &&
                                              this.player.tech_.el_ &&
                                              this.player.tech_.setCurrentTime(e);
                                      },
                                  },
                                  {
                                      key: "getDuration",
                                      value: function () {
                                          var e = this.surfer.getDuration();
                                          return (e = isNaN(e) ? 0 : e);
                                      },
                                  },
                                  {
                                      key: "setDuration",
                                      value: function (e) {
                                          void 0 === e &&
                                              (e = this.surfer.getDuration()),
                                              (e = isNaN(e) ? 0 : e),
                                              this.player.controlBar
                                                  .durationDisplay &&
                                                  this.player.controlBar.durationDisplay.contentEl() &&
                                                  this.player.controlBar.durationDisplay.contentEl()
                                                      .lastChild &&
                                                  (this.player.controlBar.durationDisplay.formattedTime_ =
                                                      this.player.controlBar.durationDisplay.contentEl().lastChild.textContent =
                                                          this._formatTime(
                                                              e,
                                                              e,
                                                              this
                                                                  .displayMilliseconds
                                                          ));
                                      },
                                  },
                                  {
                                      key: "onWaveReady",
                                      value: function () {
                                          var e = this;
                                          (this.waveReady = !0),
                                              (this.waveFinished = !1),
                                              (this.liveMode = !1),
                                              this.log("Waveform is ready"),
                                              this.player.trigger(
                                                  r.default.WAVE_READY
                                              ),
                                              this.backend === k &&
                                                  (this.setCurrentTime(),
                                                  this.setDuration(),
                                                  void 0 !==
                                                      this.player.controlBar
                                                          .playToggle &&
                                                      this.player.controlBar.playToggle.contentEl() &&
                                                      this.player.controlBar.playToggle.show()),
                                              this.player.loadingSpinner.contentEl() &&
                                                  this.player.loadingSpinner.hide(),
                                              !0 ===
                                                  this.player.options_.autoplay &&
                                                  (this.setVolume(0),
                                                  this.backend === k
                                                      ? this.play()
                                                      : this.player
                                                            .play()
                                                            .catch(function (t) {
                                                                e.onWaveError(t);
                                                            }));
                                      },
                                  },
                                  {
                                      key: "onWaveFinish",
                                      value: function () {
                                          var e = this;
                                          this.log("Finished playback"),
                                              this.player.trigger(
                                                  r.default.PLAYBACK_FINISH
                                              ),
                                              !0 === this.player.options_.loop
                                                  ? this.backend === k &&
                                                    (this.surfer.stop(),
                                                    this.play())
                                                  : ((this.waveFinished = !0),
                                                    this.backend === k &&
                                                        (this.pause(),
                                                        this.player.trigger(
                                                            r.default.ENDED
                                                        ),
                                                        this.surfer.once(
                                                            r.default.SEEK,
                                                            function () {
                                                                void 0 !==
                                                                    e.player
                                                                        .controlBar
                                                                        .playToggle &&
                                                                    e.player.controlBar.playToggle.removeClass(
                                                                        "vjs-ended"
                                                                    ),
                                                                    e.player.trigger(
                                                                        r.default
                                                                            .PAUSE
                                                                    );
                                                            }
                                                        )));
                                      },
                                  },
                                  {
                                      key: "onWaveProgress",
                                      value: function (e) {
                                          this.setCurrentTime();
                                      },
                                  },
                                  {
                                      key: "onWaveSeek",
                                      value: function () {
                                          this.setCurrentTime();
                                      },
                                  },
                                  {
                                      key: "onWaveError",
                                      value: function (e) {
                                          (e.name && "AbortError" === e.name) ||
                                          ("DOMException" === e.name &&
                                              e.message.startsWith(
                                                  "The operation was aborted"
                                              ))
                                              ? this.player.trigger(
                                                    r.default.ABORT,
                                                    e
                                                )
                                              : (this.player.trigger(
                                                    r.default.ERROR,
                                                    e
                                                ),
                                                this.log(e, "error"));
                                      },
                                  },
                                  {
                                      key: "onPlayToggle",
                                      value: function () {
                                          void 0 !==
                                              this.player.controlBar.playToggle &&
                                              this.player.controlBar.playToggle.hasClass(
                                                  "vjs-ended"
                                              ) &&
                                              this.player.controlBar.playToggle.removeClass(
                                                  "vjs-ended"
                                              ),
                                              this.surfer.isPlaying()
                                                  ? this.pause()
                                                  : this.play();
                                      },
                                  },
                                  {
                                      key: "onVolumeChange",
                                      value: function () {
                                          var e = this.player.volume();
                                          this.player.muted() && (e = 0),
                                              this.surfer.setVolume(e);
                                      },
                                  },
                                  {
                                      key: "onScreenChange",
                                      value: function () {
                                          var e = this,
                                              t = this.player.setInterval(
                                                  function () {
                                                      var r, i;
                                                      if (
                                                          (e.player.isFullscreen() ||
                                                              ((r =
                                                                  e.originalWidth),
                                                              (i =
                                                                  e.originalHeight)),
                                                          e.waveReady)
                                                      ) {
                                                          if (
                                                              e.liveMode &&
                                                              !e.surfer.microphone
                                                                  .active
                                                          )
                                                              return;
                                                          e.redrawWaveform(r, i);
                                                      }
                                                      e.player.clearInterval(t);
                                                  },
                                                  100
                                              );
                                      },
                                  },
                                  {
                                      key: "redrawWaveform",
                                      value: function (e, t) {
                                          if (!this.isDestroyed()) {
                                              if (this.player.el_) {
                                                  var r =
                                                      this.player.el_.getBoundingClientRect();
                                                  void 0 === e && (e = r.width),
                                                      void 0 === t &&
                                                          (t = r.height);
                                              }
                                              this.surfer.drawer.destroy(),
                                                  (this.surfer.params.width = e),
                                                  (this.surfer.params.height =
                                                      t -
                                                      this.player.controlBar.height()),
                                                  this.surfer.createDrawer(),
                                                  (this.surfer.drawer.wrapper.className =
                                                      E),
                                                  this.surfer.drawBuffer(),
                                                  this.surfer.drawer.progress(
                                                      this.surfer.backend.getPlayedPercents()
                                                  );
                                          }
                                      },
                                  },
                                  {
                                      key: "log",
                                      value: function (e, t) {
                                          (0, i.default)(e, t, this.debug);
                                      },
                                  },
                                  {
                                      key: "setFormatTime",
                                      value: function (e) {
                                          (this._formatTime = e),
                                              u.default.setFormatTime(
                                                  this._formatTime
                                              );
                                      },
                                  },
                              ]) && d(t.prototype, a),
                              o && d(t, o),
                              c
                          );
                      })(m);
                  (e.Wavesurfer = T),
                      (T.VERSION = "3.8.0"),
                      (u.default.Wavesurfer = T),
                      void 0 === u.default.getPlugin(b) &&
                          u.default.registerPlugin(b, T),
                      u.default.use("*", function (e) {
                          return (l.default.player = e), l.default;
                      });
              })(),
              o
          );
      })();
  });
  