elismasilva commited on
Commit
9830094
·
verified ·
1 Parent(s): afbdb22

Upload folder using huggingface_hub

Browse files
README.md CHANGED
@@ -10,7 +10,7 @@ app_file: space.py
10
  ---
11
 
12
  # `gradio_mediagallery`
13
- <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.7%20-%20blue"> <a href="https://huggingface.co/spaces/elismasilva/gradio_mediagallery"><img src="https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Demo-blue"></a><p><span>💻 <a href='https://github.com/DEVAIEXP/gradio_component_mediagallery'>Component GitHub Code</a></span></p>
14
 
15
  Media Gallery Explorer with Metadata Image Extraction for Gradio UI
16
  ## Installation
 
10
  ---
11
 
12
  # `gradio_mediagallery`
13
+ <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.8%20-%20blue"> <a href="https://huggingface.co/spaces/elismasilva/gradio_mediagallery"><img src="https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Demo-blue"></a><p><span>💻 <a href='https://github.com/DEVAIEXP/gradio_component_mediagallery'>Component GitHub Code</a></span></p>
14
 
15
  Media Gallery Explorer with Metadata Image Extraction for Gradio UI
16
  ## Installation
src/README.md CHANGED
@@ -10,7 +10,7 @@ app_file: space.py
10
  ---
11
 
12
  # `gradio_mediagallery`
13
- <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.7%20-%20blue"> <a href="https://huggingface.co/spaces/elismasilva/gradio_mediagallery"><img src="https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Demo-blue"></a><p><span>💻 <a href='https://github.com/DEVAIEXP/gradio_component_mediagallery'>Component GitHub Code</a></span></p>
14
 
15
  Media Gallery Explorer with Metadata Image Extraction for Gradio UI
16
  ## Installation
 
10
  ---
11
 
12
  # `gradio_mediagallery`
13
+ <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.8%20-%20blue"> <a href="https://huggingface.co/spaces/elismasilva/gradio_mediagallery"><img src="https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Demo-blue"></a><p><span>💻 <a href='https://github.com/DEVAIEXP/gradio_component_mediagallery'>Component GitHub Code</a></span></p>
14
 
15
  Media Gallery Explorer with Metadata Image Extraction for Gradio UI
16
  ## Installation
src/backend/gradio_mediagallery/templates/component/index.js CHANGED
@@ -22322,7 +22322,7 @@ class JS extends Vt {
22322
  function zt(r) {
22323
  return `[${r.event ? '"' + r.event.identifier + '"' : "primary"}: ${r.start.toFixed(2)}-${r.end.toFixed(2)}]`;
22324
  }
22325
- class eb {
22326
  constructor(e) {
22327
  this.hls = void 0, this.hls = e;
22328
  }
@@ -22396,7 +22396,7 @@ function $c(r) {
22396
  function Ps(r, e) {
22397
  return `[${r}] Advancing timeline position to ${e}`;
22398
  }
22399
- class tb extends Vt {
22400
  constructor(e, t) {
22401
  super("interstitials", e.logger), this.HlsPlayerClass = void 0, this.hls = void 0, this.assetListLoader = void 0, this.mediaSelection = null, this.altSelection = null, this.media = null, this.detachedData = null, this.requiredTracks = null, this.manager = null, this.playerQueue = [], this.bufferedPos = -1, this.timelinePos = -1, this.schedule = void 0, this.playingItem = null, this.bufferingItem = null, this.waitingItem = null, this.endedItem = null, this.playingAsset = null, this.endedAsset = null, this.bufferingAsset = null, this.shouldPlay = !1, this.onPlay = () => {
22402
  this.shouldPlay = !0;
@@ -22500,7 +22500,7 @@ Schedule: ${l.map((m) => zt(m))} pos: ${this.timelinePos}`), c.length && this.lo
22500
  }
22501
  a && this.trimInPlace(h, a), g && f !== h && this.trimInPlace(f, g), this.checkBuffer();
22502
  }
22503
- }, this.hls = e, this.HlsPlayerClass = t, this.assetListLoader = new eb(e), this.schedule = new JS(this.onScheduleUpdate, e.logger), this.registerListeners();
22504
  }
22505
  registerListeners() {
22506
  const e = this.hls;
@@ -23693,7 +23693,7 @@ Schedule: ${l.map((m) => zt(m))} pos: ${this.timelinePos}`), c.length && this.lo
23693
  }
23694
  }
23695
  const Mc = 500;
23696
- class ib extends rl {
23697
  constructor(e, t, i) {
23698
  super(e, t, i, "subtitle-stream-controller", z.SUBTITLE), this.currentTrackId = -1, this.tracksBuffered = [], this.mainDetails = null, this.registerListeners();
23699
  }
@@ -23913,10 +23913,10 @@ class ib extends rl {
23913
  Pe(e) ? super.loadFragment(e, t, i) : this._loadInitSegment(e, t);
23914
  }
23915
  get mediaBufferTimeRanges() {
23916
- return new nb(this.tracksBuffered[this.currentTrackId] || []);
23917
  }
23918
  }
23919
- class nb {
23920
  constructor(e) {
23921
  this.buffered = void 0;
23922
  const t = (i, n, s) => {
@@ -23937,7 +23937,7 @@ class nb {
23937
  };
23938
  }
23939
  }
23940
- const sb = {
23941
  42: 225,
23942
  // lowercase a, acute accent
23943
  92: 233,
@@ -24125,7 +24125,7 @@ const sb = {
24125
  // Box drawings heavy up and right
24126
  207: 9499
24127
  // Box drawings heavy up and left
24128
- }, mg = (r) => String.fromCharCode(sb[r] || r), Xt = 15, _i = 100, rb = {
24129
  17: 1,
24130
  18: 3,
24131
  21: 5,
@@ -24134,7 +24134,7 @@ const sb = {
24134
  16: 11,
24135
  19: 12,
24136
  20: 14
24137
- }, ab = {
24138
  17: 2,
24139
  18: 4,
24140
  21: 6,
@@ -24142,7 +24142,7 @@ const sb = {
24142
  23: 10,
24143
  19: 13,
24144
  20: 15
24145
- }, ob = {
24146
  25: 1,
24147
  26: 3,
24148
  29: 5,
@@ -24151,7 +24151,7 @@ const sb = {
24151
  24: 11,
24152
  27: 12,
24153
  28: 14
24154
- }, lb = {
24155
  25: 2,
24156
  26: 4,
24157
  29: 6,
@@ -24159,8 +24159,8 @@ const sb = {
24159
  31: 10,
24160
  27: 13,
24161
  28: 15
24162
- }, ub = ["white", "green", "blue", "cyan", "red", "yellow", "magenta", "black", "transparent"];
24163
- class cb {
24164
  constructor() {
24165
  this.time = null, this.verboseLevel = 0;
24166
  }
@@ -24204,7 +24204,7 @@ class pg {
24204
  return "color=" + this.foreground + ", underline=" + this.underline + ", italics=" + this.italics + ", background=" + this.background + ", flash=" + this.flash;
24205
  }
24206
  }
24207
- class db {
24208
  constructor() {
24209
  this.uchar = " ", this.penState = new pg();
24210
  }
@@ -24227,11 +24227,11 @@ class db {
24227
  return this.uchar === " " && this.penState.isDefault();
24228
  }
24229
  }
24230
- class hb {
24231
  constructor(e) {
24232
  this.chars = [], this.pos = 0, this.currPenState = new pg(), this.cueStartTime = null, this.logger = void 0;
24233
  for (let t = 0; t < _i; t++)
24234
- this.chars.push(new db());
24235
  this.logger = e;
24236
  }
24237
  equals(e) {
@@ -24312,7 +24312,7 @@ class Fa {
24312
  constructor(e) {
24313
  this.rows = [], this.currRow = Xt - 1, this.nrRollUpRows = null, this.lastOutputScreen = null, this.logger = void 0;
24314
  for (let t = 0; t < Xt; t++)
24315
- this.rows.push(new hb(e));
24316
  this.logger = e;
24317
  }
24318
  reset() {
@@ -24527,8 +24527,8 @@ class Bc {
24527
  }
24528
  class Nc {
24529
  constructor(e, t, i) {
24530
- this.channels = void 0, this.currentChannel = 0, this.cmdHistory = gb(), this.logger = void 0;
24531
- const n = this.logger = new cb();
24532
  this.channels = [null, new Bc(e, t, n), new Bc(e + 1, i, n)];
24533
  }
24534
  getHandler(e) {
@@ -24550,7 +24550,7 @@ class Nc {
24550
  this.logger.log(3, () => "[" + Vi([t[i], t[i + 1]]) + "] -> (" + Vi([n, s]) + ")");
24551
  const l = this.cmdHistory;
24552
  if (n >= 16 && n <= 31) {
24553
- if (fb(n, s, l)) {
24554
  Os(null, null, l), this.logger.log(3, () => "Repeated command (" + Vi([n, s]) + ") is dropped");
24555
  continue;
24556
  }
@@ -24598,7 +24598,7 @@ class Nc {
24598
  if (!(n || s))
24599
  return !1;
24600
  const a = e <= 23 ? 1 : 2;
24601
- t >= 64 && t <= 95 ? i = a === 1 ? rb[e] : ob[e] : i = a === 1 ? ab[e] : lb[e];
24602
  const o = this.channels[a];
24603
  return o ? (o.setPAC(this.interpretPAC(i, t)), this.currentChannel = a, !0) : !1;
24604
  }
@@ -24639,7 +24639,7 @@ class Nc {
24639
  return !1;
24640
  let s;
24641
  const a = {};
24642
- e === 16 || e === 24 ? (s = Math.floor((t - 32) / 2), a.background = ub[s], t % 2 === 1 && (a.background = a.background + "_semi")) : t === 45 ? a.background = "transparent" : (a.foreground = "black", t === 47 && (a.underline = !0));
24643
  const o = e <= 23 ? 1 : 2;
24644
  return this.channels[o].setBkgData(a), !0;
24645
  }
@@ -24666,10 +24666,10 @@ class Nc {
24666
  function Os(r, e, t) {
24667
  t.a = r, t.b = e;
24668
  }
24669
- function fb(r, e, t) {
24670
  return t.a === r && t.b === e;
24671
  }
24672
- function gb() {
24673
  return {
24674
  a: null,
24675
  b: null
@@ -24832,7 +24832,7 @@ var _l = function() {
24832
  return self.WebVTT.convertCueToDOMTree(self, this.text);
24833
  }, a;
24834
  }();
24835
- class mb {
24836
  decode(e, t) {
24837
  if (!e)
24838
  return "";
@@ -24848,7 +24848,7 @@ function _g(r) {
24848
  const t = r.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);
24849
  return t ? parseFloat(t[2]) > 59 ? e(t[2], t[3], 0, t[4]) : e(t[1], t[2], t[3], t[4]) : null;
24850
  }
24851
- class pb {
24852
  constructor() {
24853
  this.values = /* @__PURE__ */ Object.create(null);
24854
  }
@@ -24903,7 +24903,7 @@ function yg(r, e, t, i) {
24903
  }
24904
  }
24905
  const bo = new _l(0, 0, ""), $s = bo.align === "middle" ? "middle" : "center";
24906
- function _b(r, e, t) {
24907
  const i = r;
24908
  function n() {
24909
  const o = _g(r);
@@ -24912,7 +24912,7 @@ function _b(r, e, t) {
24912
  return r = r.replace(/^[^\sa-zA-Z-]+/, ""), o;
24913
  }
24914
  function s(o, l) {
24915
- const u = new pb();
24916
  yg(o, function(h, f) {
24917
  let g;
24918
  switch (h) {
@@ -24956,9 +24956,9 @@ function vg(r) {
24956
  return r.replace(/<br(?: \/)?>/gi, `
24957
  `);
24958
  }
24959
- class yb {
24960
  constructor() {
24961
- this.state = "INITIAL", this.buffer = "", this.decoder = new mb(), this.regionList = [], this.cue = null, this.oncue = void 0, this.onparsingerror = void 0, this.onflush = void 0;
24962
  }
24963
  parse(e) {
24964
  const t = this;
@@ -25017,7 +25017,7 @@ class yb {
25017
  continue;
25018
  }
25019
  try {
25020
- _b(s, t.cue, t.regionList);
25021
  } catch {
25022
  t.cue = null, t.state = "BADCUE";
25023
  continue;
@@ -25059,9 +25059,9 @@ class yb {
25059
  return e.onflush && e.onflush(), this;
25060
  }
25061
  }
25062
- const vb = /\r\n|\n\r|\n|\r/g, Pa = function(e, t, i = 0) {
25063
  return e.slice(i, i + t.length) === t;
25064
- }, Eb = function(e) {
25065
  let t = parseInt(e.slice(-3));
25066
  const i = parseInt(e.slice(-6, -4)), n = parseInt(e.slice(-9, -7)), s = e.length > 9 ? parseInt(e.substring(0, e.indexOf(":"))) : 0;
25067
  if (!H(t) || !H(i) || !H(n) || !H(s))
@@ -25071,7 +25071,7 @@ const vb = /\r\n|\n\r|\n|\r/g, Pa = function(e, t, i = 0) {
25071
  function yl(r, e, t) {
25072
  return jn(r.toString()) + jn(e.toString()) + jn(t);
25073
  }
25074
- const Sb = function(e, t, i) {
25075
  let n = e[t], s = e[n.prevCC];
25076
  if (!s || !s.new && n.new) {
25077
  e.ccOffset = e.presentationOffset = n.start, n.new = !1;
@@ -25083,8 +25083,8 @@ const Sb = function(e, t, i) {
25083
  }
25084
  e.presentationOffset = i;
25085
  };
25086
- function bb(r, e, t, i, n, s, a) {
25087
- const o = new yb(), l = wt(new Uint8Array(r)).trim().replace(vb, `
25088
  `).split(`
25089
  `), u = [], c = e ? LE(e.baseTime, e.timescale) : 0;
25090
  let d = "00:00.000", h = 0, f = 0, g, m = !0;
@@ -25092,7 +25092,7 @@ function bb(r, e, t, i, n, s, a) {
25092
  const v = t[i];
25093
  let y = t.ccOffset;
25094
  const _ = (h - c) / 9e4;
25095
- if (v != null && v.new && (f !== void 0 ? y = t.ccOffset = v.start : Sb(t, i, _)), _) {
25096
  if (!e) {
25097
  g = new Error("Missing initPTS for VTT MPEGTS");
25098
  return;
@@ -25118,7 +25118,7 @@ function bb(r, e, t, i, n, s, a) {
25118
  Pa(v, "LOCAL:") ? d = v.slice(6) : Pa(v, "MPEGTS:") && (h = parseInt(v.slice(7)));
25119
  });
25120
  try {
25121
- f = Eb(d) / 1e3;
25122
  } catch (v) {
25123
  g = v;
25124
  }
@@ -25128,7 +25128,7 @@ function bb(r, e, t, i, n, s, a) {
25128
  `);
25129
  }), o.flush();
25130
  }
25131
- const Oa = "stpp.ttml.im1t", Eg = /^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/, Sg = /^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/, Tb = {
25132
  left: "start",
25133
  center: "center",
25134
  right: "end",
@@ -25143,12 +25143,12 @@ function Uc(r, e, t, i) {
25143
  }
25144
  const s = n.map((o) => wt(o)), a = xE(e.baseTime, 1, e.timescale);
25145
  try {
25146
- s.forEach((o) => t(Ab(o, a)));
25147
  } catch (o) {
25148
  i(o);
25149
  }
25150
  }
25151
- function Ab(r, e) {
25152
  const n = new DOMParser().parseFromString(r, "text/xml").getElementsByTagName("tt")[0];
25153
  if (!n)
25154
  throw new Error("Invalid ttml");
@@ -25173,11 +25173,11 @@ function Ab(r, e) {
25173
  }
25174
  const p = new _l(f - e, m - e, h);
25175
  p.id = yl(p.startTime, p.endTime, p.text);
25176
- const v = u[d.getAttribute("region")], y = l[d.getAttribute("style")], _ = Db(v, y, l), {
25177
  textAlign: S
25178
  } = _;
25179
  if (S) {
25180
- const b = Tb[S];
25181
  b && (p.lineAlign = b), p.align = S;
25182
  }
25183
  return Ee(p, _), p;
@@ -25200,7 +25200,7 @@ function bg(r, e) {
25200
  ` : (s = i.childNodes) != null && s.length ? bg(i, e) : e ? t + i.textContent.trim().replace(/\s+/g, " ") : t + i.textContent;
25201
  }, "");
25202
  }
25203
- function Db(r, e, t) {
25204
  const i = "http://www.w3.org/ns/ttml#styling";
25205
  let n = null;
25206
  const s = [
@@ -25232,13 +25232,13 @@ function Ba(r, e) {
25232
  if (!r)
25233
  return null;
25234
  let t = _g(r);
25235
- return t === null && (Eg.test(r) ? t = Ib(r, e) : Sg.test(r) && (t = xb(r, e))), t;
25236
  }
25237
- function Ib(r, e) {
25238
  const t = Eg.exec(r), i = (t[4] | 0) + (t[5] | 0) / e.subFrameRate;
25239
  return (t[1] | 0) * 3600 + (t[2] | 0) * 60 + (t[3] | 0) + i / e.frameRate;
25240
  }
25241
- function xb(r, e) {
25242
  const t = Sg.exec(r), i = Number(t[1]);
25243
  switch (t[2]) {
25244
  case "h":
@@ -25268,7 +25268,7 @@ class Ms {
25268
  this.cueRanges = [], this.startTime = null;
25269
  }
25270
  }
25271
- class Lb {
25272
  constructor(e) {
25273
  this.hls = void 0, this.media = null, this.config = void 0, this.enabled = !0, this.Cues = void 0, this.textTracks = [], this.tracks = [], this.initPTS = [], this.unparsedVttFrags = [], this.captionsTracks = {}, this.nonNativeCaptionsTracks = {}, this.cea608Parser1 = void 0, this.cea608Parser2 = void 0, this.lastCc = -1, this.lastSn = -1, this.lastPartIndex = -1, this.prevCC = -1, this.vttCCs = Hc(), this.captionsProperties = void 0, this.hls = e, this.config = e.config, this.Cues = e.config.cueHandler, this.captionsProperties = {
25274
  textTrack1: {
@@ -25302,7 +25302,7 @@ class Lb {
25302
  addCues(e, t, i, n, s) {
25303
  let a = !1;
25304
  for (let o = s.length; o--; ) {
25305
- const l = s[o], u = Cb(l[0], l[1], t, i);
25306
  if (u >= 0 && (l[0] = Math.min(l[0], t), l[1] = Math.max(l[1], i), a = !0, u / (i - t) > 0.5))
25307
  return;
25308
  }
@@ -25551,7 +25551,7 @@ class Lb {
25551
  return;
25552
  }
25553
  const l = this.hls, u = (t = i.initSegment) != null && t.data ? Ut(i.initSegment.data, new Uint8Array(n)).buffer : n;
25554
- bb(u, this.initPTS[i.cc], this.vttCCs, i.cc, i.start, (c) => {
25555
  this._appendCues(c, i.level), l.trigger(E.SUBTITLE_FRAG_PROCESSED, {
25556
  success: !0,
25557
  frag: i
@@ -25663,7 +25663,7 @@ function Tg(r) {
25663
  function Kc(r, e) {
25664
  return !!r && r.kind === Tg(e) && _o(e, r);
25665
  }
25666
- function Cb(r, e, t, i) {
25667
  return Math.min(e, i) - Math.max(r, t);
25668
  }
25669
  function Hc() {
@@ -25677,7 +25677,7 @@ function Hc() {
25677
  }
25678
  };
25679
  }
25680
- const kb = /\s/, Rb = {
25681
  newCue(r, e, t, i) {
25682
  const n = [];
25683
  let s, a, o, l, u;
@@ -25686,7 +25686,7 @@ const kb = /\s/, Rb = {
25686
  if (s = i.rows[h], o = !0, l = 0, u = "", !s.isEmpty()) {
25687
  var d;
25688
  for (let m = 0; m < s.chars.length; m++)
25689
- kb.test(s.chars[m].uchar) && o ? l++ : (u += s.chars[m].uchar, o = !1);
25690
  s.cueStartTime = e, e === t && (t += 1e-4), l >= 16 ? l-- : l++;
25691
  const f = vg(u.trim()), g = yl(e, t, f);
25692
  r != null && (d = r.cues) != null && d.getCueById(g) || (a = new c(e, t, f), a.id = g, a.line = h + 1, a.align = "left", a.position = 10 + Math.min(80, Math.floor(l * 8 / 32) * 10), n.push(a));
@@ -25694,7 +25694,7 @@ const kb = /\s/, Rb = {
25694
  return r && n.length && (n.sort((h, f) => h.line === "auto" || f.line === "auto" ? 0 : h.line > 8 && f.line > 8 ? f.line - h.line : h.line - f.line), n.forEach((h) => fg(r, h))), n;
25695
  }
25696
  };
25697
- function wb() {
25698
  if (
25699
  // @ts-ignore
25700
  self.fetch && self.AbortController && self.ReadableStream && self.Request
@@ -25705,10 +25705,10 @@ function wb() {
25705
  }
25706
  return !1;
25707
  }
25708
- const Fb = /(\d+)-(\d+)\/(\d+)/;
25709
  class qc {
25710
  constructor(e) {
25711
- this.fetchSetup = void 0, this.requestTimeout = void 0, this.request = null, this.response = null, this.controller = void 0, this.context = null, this.config = null, this.callbacks = null, this.stats = void 0, this.loader = null, this.fetchSetup = e.fetchSetup || Mb, this.controller = new self.AbortController(), this.stats = new Xo();
25712
  }
25713
  destroy() {
25714
  this.loader = this.callbacks = this.context = this.config = this.request = null, this.abortInternal(), this.response = null, this.fetchSetup = this.controller = this.stats = null;
@@ -25725,7 +25725,7 @@ class qc {
25725
  if (n.loading.start)
25726
  throw new Error("Loader can only be used once.");
25727
  n.loading.start = self.performance.now();
25728
- const s = Pb(e, this.controller.signal), a = e.responseType === "arraybuffer", o = a ? "byteLength" : "length", {
25729
  maxTimeToFirstByteMs: l,
25730
  maxLoadTimeMs: u
25731
  } = t.loadPolicy;
@@ -25742,9 +25742,9 @@ class qc {
25742
  status: m,
25743
  statusText: p
25744
  } = d;
25745
- throw new Bb(p || "fetch, bad network response", m, d);
25746
  }
25747
- n.loading.first = f, n.total = $b(d.headers) || n.total;
25748
  const g = (h = this.callbacks) == null ? void 0 : h.onProgress;
25749
  return g && H(t.highWaterMark) ? this.loadProgressively(d, n, e, t.highWaterMark, g) : a ? d.arrayBuffer() : e.responseType === "json" ? d.json() : d.text();
25750
  }).then((d) => {
@@ -25793,7 +25793,7 @@ class qc {
25793
  return l();
25794
  }
25795
  }
25796
- function Pb(r, e) {
25797
  const t = {
25798
  method: "GET",
25799
  mode: "cors",
@@ -25803,15 +25803,15 @@ function Pb(r, e) {
25803
  };
25804
  return r.rangeEnd && t.headers.set("Range", "bytes=" + r.rangeStart + "-" + String(r.rangeEnd - 1)), t;
25805
  }
25806
- function Ob(r) {
25807
- const e = Fb.exec(r);
25808
  if (e)
25809
  return parseInt(e[2]) - parseInt(e[1]) + 1;
25810
  }
25811
- function $b(r) {
25812
  const e = r.get("Content-Range");
25813
  if (e) {
25814
- const i = Ob(e);
25815
  if (H(i))
25816
  return i;
25817
  }
@@ -25819,15 +25819,15 @@ function $b(r) {
25819
  if (t)
25820
  return parseInt(t);
25821
  }
25822
- function Mb(r, e) {
25823
  return new self.Request(r.url, e);
25824
  }
25825
- class Bb extends Error {
25826
  constructor(e, t, i) {
25827
  super(e), this.code = void 0, this.details = void 0, this.code = t, this.details = i;
25828
  }
25829
  }
25830
- const Nb = /^age:\s*[\d.]+\s*$/im;
25831
  class Ag {
25832
  constructor(e) {
25833
  this.xhrSetup = void 0, this.requestTimeout = void 0, this.retryTimeout = void 0, this.retryDelay = void 0, this.config = null, this.callbacks = null, this.context = null, this.loader = null, this.stats = void 0, this.xhrSetup = e && e.xhrSetup || null, this.stats = new Xo(), this.retryDelay = 0;
@@ -25956,7 +25956,7 @@ class Ag {
25956
  }
25957
  getCacheAge() {
25958
  let e = null;
25959
- if (this.loader && Nb.test(this.loader.getAllResponseHeaders())) {
25960
  const t = this.loader.getResponseHeader("age");
25961
  e = t ? parseFloat(t) : null;
25962
  }
@@ -25966,12 +25966,12 @@ class Ag {
25966
  return this.loader && new RegExp(`^${e}:\\s*[\\d.]+\\s*$`, "im").test(this.loader.getAllResponseHeaders()) ? this.loader.getResponseHeader(e) : null;
25967
  }
25968
  }
25969
- const Ub = {
25970
  maxTimeToFirstByteMs: 8e3,
25971
  maxLoadTimeMs: 2e4,
25972
  timeoutRetry: null,
25973
  errorRetry: null
25974
- }, Gb = me(me({
25975
  autoStartLoad: !0,
25976
  // used by stream-controller
25977
  startPosition: -1,
@@ -26127,7 +26127,7 @@ const Ub = {
26127
  useMediaCapabilities: !0,
26128
  preserveManualLevelOnError: !1,
26129
  certLoadPolicy: {
26130
- default: Ub
26131
  },
26132
  keyLoadPolicy: {
26133
  default: {
@@ -26241,20 +26241,20 @@ const Ub = {
26241
  fragLoadingMaxRetry: 6,
26242
  fragLoadingRetryDelay: 1e3,
26243
  fragLoadingMaxRetryTimeout: 64e3
26244
- }, Vb()), {}, {
26245
- subtitleStreamController: ib,
26246
  subtitleTrackController: WS,
26247
- timelineController: Lb,
26248
  audioStreamController: NE,
26249
  audioTrackController: UE,
26250
  emeController: An,
26251
  cmcdController: US,
26252
  contentSteeringController: VS,
26253
- interstitialsController: tb
26254
  });
26255
- function Vb() {
26256
  return {
26257
- cueHandler: Rb,
26258
  // used by timeline-controller
26259
  enableWebVTT: !0,
26260
  // used by timeline-controller
@@ -26281,7 +26281,7 @@ function Vb() {
26281
  renderTextTracksNatively: !0
26282
  };
26283
  }
26284
- function Kb(r, e, t) {
26285
  if ((e.liveSyncDurationCount || e.liveMaxLatencyDurationCount) && (e.liveSyncDuration || e.liveMaxLatencyDuration))
26286
  throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");
26287
  if (e.liveMaxLatencyDurationCount !== void 0 && (e.liveSyncDurationCount === void 0 || e.liveMaxLatencyDurationCount <= e.liveSyncDurationCount))
@@ -26319,12 +26319,12 @@ function Kb(r, e, t) {
26319
  function To(r) {
26320
  return r && typeof r == "object" ? Array.isArray(r) ? r.map(To) : Object.keys(r).reduce((e, t) => (e[t] = To(r[t]), e), {}) : r;
26321
  }
26322
- function Hb(r, e) {
26323
  const t = r.loader;
26324
- t !== qc && t !== Ag ? (e.log("[config]: Custom loader detected, cannot enable progressive streaming"), r.progressive = !1) : wb() && (r.loader = qc, r.progressive = !0, r.enableSoftwareAES = !0, e.log("[config]: Progressive streaming enabled, using FetchLoader"));
26325
  }
26326
- const ar = 2, qb = 0.1, zb = 0.05, Wb = 100;
26327
- class jb extends _f {
26328
  constructor(e, t) {
26329
  super("gap-controller", e.logger), this.hls = void 0, this.fragmentTracker = void 0, this.media = null, this.mediaSource = void 0, this.nudgeRetry = 0, this.stallReported = !1, this.stalled = null, this.moved = !1, this.seeking = !1, this.buffered = {}, this.lastCurrentTime = 0, this.ended = 0, this.waiting = 0, this.onMediaPlaying = () => {
26330
  this.ended = 0, this.waiting = 0;
@@ -26356,7 +26356,7 @@ class jb extends _f {
26356
  super.destroy(), this.unregisterListeners(), this.media = this.hls = this.fragmentTracker = null, this.mediaSource = void 0;
26357
  }
26358
  onMediaAttached(e, t) {
26359
- this.setInterval(Wb), this.mediaSource = t.mediaSource;
26360
  const i = this.media = t.media;
26361
  ut(i, "playing", this.onMediaPlaying), ut(i, "waiting", this.onMediaWaiting), ut(i, "ended", this.onMediaEnded);
26362
  }
@@ -26594,7 +26594,7 @@ class jb extends _f {
26594
  return 0;
26595
  }
26596
  }
26597
- const f = Math.max(l + zb, a + qb);
26598
  if (this.warn(`skipping hole, adjusting currentTime from ${a} to ${f}`), this.moved = !0, n.currentTime = f, !(e != null && e.gap)) {
26599
  const g = new Error(`fragment loaded with buffer holes, seeking from ${a} to ${f}`), m = {
26600
  type: j.MEDIA_ERROR,
@@ -26670,7 +26670,7 @@ function Wc(r) {
26670
  function Bs(r, e) {
26671
  return e.getAppendedFrag(r, z.MAIN) || e.getPartialFragment(r);
26672
  }
26673
- const Yb = 0.25;
26674
  function Ao() {
26675
  if (!(typeof self > "u"))
26676
  return self.VTTCue || self.TextTrackCue;
@@ -26695,7 +26695,7 @@ const Ns = (() => {
26695
  }
26696
  return Number.POSITIVE_INFINITY;
26697
  })();
26698
- class Xb {
26699
  constructor(e) {
26700
  this.hls = void 0, this.id3Track = null, this.media = null, this.dateRangeCuesAppended = {}, this.removeCues = !0, this.assetCue = void 0, this.onEventCueEnter = () => {
26701
  this.hls && this.hls.trigger(E.EVENT_CUE_ENTER, {});
@@ -26767,7 +26767,7 @@ class Xb {
26767
  continue;
26768
  const u = Uf(s[o].data), c = s[o].pts;
26769
  let d = c + s[o].duration;
26770
- d > Ns && (d = Ns), d - c <= 0 && (d = c + Yb);
26771
  for (let f = 0; f < u.length; f++) {
26772
  const g = u[f];
26773
  if (!Gf(g)) {
@@ -26918,7 +26918,7 @@ class Xb {
26918
  }
26919
  }
26920
  }
26921
- class Qb {
26922
  constructor(e) {
26923
  this.hls = void 0, this.config = void 0, this.media = null, this.currentTime = 0, this.stallCount = 0, this._latency = null, this._targetLatencyUpdated = !1, this.onTimeupdate = () => {
26924
  const {
@@ -27060,7 +27060,7 @@ class Qb {
27060
  return e === null ? null : e - this.currentTime;
27061
  }
27062
  }
27063
- class Zb extends fl {
27064
  constructor(e, t) {
27065
  super(e, "level-controller"), this._levels = [], this._firstLevel = -1, this._maxAutoLevel = -1, this._startLevel = void 0, this.currentLevel = null, this.currentLevelIndex = -1, this.manualLevelIndex = -1, this.steering = void 0, this.onParsedComplete = void 0, this.steering = t, this._registerListeners();
27066
  }
@@ -27431,19 +27431,19 @@ function Ig() {
27431
  const e = Dg();
27432
  return !e || e.prototype && typeof e.prototype.appendBuffer == "function" && typeof e.prototype.remove == "function";
27433
  }
27434
- function Jb() {
27435
  if (!Ig())
27436
  return !1;
27437
  const r = Pi();
27438
  return typeof (r == null ? void 0 : r.isTypeSupported) == "function" && (["avc1.42E01E,mp4a.40.2", "av01.0.01M.08", "vp09.00.50.08"].some((e) => r.isTypeSupported(Jn(e, "video"))) || ["mp4a.40.2", "fLaC"].some((e) => r.isTypeSupported(Jn(e, "audio"))));
27439
  }
27440
- function e1() {
27441
  var r;
27442
  const e = Dg();
27443
  return typeof (e == null || (r = e.prototype) == null ? void 0 : r.changeType) == "function";
27444
  }
27445
- const t1 = 100;
27446
- class i1 extends rl {
27447
  constructor(e, t, i) {
27448
  super(e, t, i, "stream-controller", z.MAIN), this.audioCodecSwap = !1, this.level = -1, this._forceStartLoad = !1, this._hasEnoughToStart = !1, this.altAudio = 0, this.audioOnly = !1, this.fragPlaying = null, this.fragLastKbps = 0, this.couldBacktrack = !1, this.backtrackFragment = null, this.audioCodecSwitch = !1, this.videoBuffer = null, this.onMediaPlaying = () => {
27449
  this.tick();
@@ -27482,7 +27482,7 @@ class i1 extends rl {
27482
  lastCurrentTime: i,
27483
  hls: n
27484
  } = this;
27485
- if (this.stopLoad(), this.setInterval(t1), this.level = -1, !this.startFragRequested) {
27486
  let s = n.startLevel;
27487
  s === -1 && (n.config.testBandwidth && this.levels.length > 1 ? (s = 0, this.bitrateTest = !0) : s = n.firstAutoLevel), n.nextLoadLevel = s, this.level = n.loadLevel, this._hasEnoughToStart = !!t;
27488
  }
@@ -27662,7 +27662,7 @@ class i1 extends rl {
27662
  const a = t.levels[s].audioCodec;
27663
  a && (i = i || a.indexOf("mp4a.40.2") !== -1, n = n || a.indexOf("mp4a.40.5") !== -1);
27664
  }
27665
- this.audioCodecSwitch = i && n && !e1(), this.audioCodecSwitch && this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"), this.levels = t.levels, this.startFragRequested = !1;
27666
  }
27667
  onLevelLoading(e, t) {
27668
  const {
@@ -28167,7 +28167,7 @@ class i1 extends rl {
28167
  return this._forceStartLoad;
28168
  }
28169
  }
28170
- class n1 extends Vt {
28171
  constructor(e, t) {
28172
  super("key-loader", t), this.config = void 0, this.keyIdToKeyInfo = {}, this.emeController = null, this.config = e;
28173
  }
@@ -28383,7 +28383,7 @@ function Ga(r, e) {
28383
  let t = r.url;
28384
  return (t === void 0 || t.indexOf("data:") === 0) && (t = e.url), t;
28385
  }
28386
- class s1 {
28387
  constructor(e) {
28388
  this.hls = void 0, this.loaders = /* @__PURE__ */ Object.create(null), this.variableList = null, this.onManifestLoaded = this.checkAutostartLoad, this.hls = e, this.registerListeners();
28389
  }
@@ -28833,7 +28833,7 @@ class kt {
28833
  * Check if MediaSource Extensions are available and isTypeSupported checks pass for any baseline codecs.
28834
  */
28835
  static isSupported() {
28836
- return Jb();
28837
  }
28838
  /**
28839
  * Get the MediaSource global used for MSE playback (ManagedMediaSource, MediaSource, or WebKitMediaSource).
@@ -28857,7 +28857,7 @@ class kt {
28857
  * Get the default configuration applied to new instances.
28858
  */
28859
  static get DefaultConfig() {
28860
- return kt.defaultConfig ? kt.defaultConfig : Gb;
28861
  }
28862
  /**
28863
  * Replace the default configuration applied to new instances.
@@ -28871,15 +28871,15 @@ class kt {
28871
  */
28872
  constructor(e = {}) {
28873
  this.config = void 0, this.userConfig = void 0, this.logger = void 0, this.coreComponents = void 0, this.networkControllers = void 0, this._emitter = new al(), this._autoLevelCapping = -1, this._maxHdcpLevel = null, this.abrController = void 0, this.bufferController = void 0, this.capLevelController = void 0, this.latencyController = void 0, this.levelController = void 0, this.streamController = void 0, this.audioStreamController = void 0, this.subtititleStreamController = void 0, this.audioTrackController = void 0, this.subtitleTrackController = void 0, this.interstitialsController = void 0, this.gapController = void 0, this.emeController = void 0, this.cmcdController = void 0, this._media = null, this._url = null, this._sessionId = void 0, this.triggeringException = void 0, this.started = !1;
28874
- const t = this.logger = cy(e.debug || !1, "Hls instance", e.assetPlayerId), i = this.config = Kb(kt.DefaultConfig, e, t);
28875
- this.userConfig = e, i.progressive && Hb(i, t);
28876
  const {
28877
  abrController: n,
28878
  bufferController: s,
28879
  capLevelController: a,
28880
  errorController: o,
28881
  fpsController: l
28882
- } = i, u = new o(this), c = this.abrController = new n(this), d = new rv(this), h = i.interstitialsController, f = h ? this.interstitialsController = new h(this, kt) : null, g = this.bufferController = new s(this, d), m = this.capLevelController = new a(this), p = new l(this), v = new s1(this), y = i.contentSteeringController, _ = y ? new y(this) : null, S = this.levelController = new Zb(this, _), b = new Xb(this), I = new n1(this.config, this.logger), T = this.streamController = new i1(this, d, I), A = this.gapController = new jb(this, d);
28883
  m.setStreamController(T), p.setStreamController(T);
28884
  const D = [v, S, T];
28885
  f && D.splice(1, 0, f), _ && D.splice(1, 0, _), this.networkControllers = D;
@@ -28888,7 +28888,7 @@ class kt {
28888
  const F = i.audioStreamController;
28889
  F && D.push(this.audioStreamController = new F(this, d, I)), this.subtitleTrackController = this.createController(i.subtitleTrackController, D);
28890
  const L = i.subtitleStreamController;
28891
- L && D.push(this.subtititleStreamController = new L(this, d, I)), this.createController(i.timelineController, x), I.emeController = this.emeController = this.createController(i.emeController, x), this.cmcdController = this.createController(i.cmcdController, x), this.latencyController = this.createController(Qb, x), this.coreComponents = x, D.push(u);
28892
  const B = u.onErrorOut;
28893
  typeof B == "function" && this.on(E.ERROR, B, u), this.on(E.MANIFEST_LOADED, v.onManifestLoaded, v);
28894
  }
@@ -29524,43 +29524,43 @@ class kt {
29524
  }
29525
  kt.defaultConfig = void 0;
29526
  const {
29527
- SvelteComponent: r1,
29528
- action_destroyer: a1,
29529
- add_render_callback: o1,
29530
  assign: Xc,
29531
  attr: ki,
29532
- binding_callbacks: l1,
29533
  bubble: Va,
29534
- children: u1,
29535
  claim_element: Qc,
29536
- claim_space: c1,
29537
- create_slot: d1,
29538
  detach: Us,
29539
  element: Zc,
29540
  exclude_internal_props: Jc,
29541
- get_all_dirty_from_scope: h1,
29542
- get_slot_changes: f1,
29543
- get_svelte_dataset: g1,
29544
- init: m1,
29545
  insert_hydration: Ka,
29546
- is_function: p1,
29547
  listen: We,
29548
- raf: _1,
29549
- run_all: y1,
29550
- safe_not_equal: v1,
29551
- space: E1,
29552
  src_url_equal: ed,
29553
  toggle_class: td,
29554
- transition_in: S1,
29555
- transition_out: b1,
29556
- update_slot_base: T1
29557
- } = window.__gradio__svelte__internal, { createEventDispatcher: A1 } = window.__gradio__svelte__internal;
29558
- function D1(r) {
29559
  let e, t = '<span class="load-wrap svelte-1pwzuub"><span class="loader svelte-1pwzuub"></span></span>', i, n, s, a, o = !1, l, u = !0, c, d, h, f;
29560
  const g = (
29561
  /*#slots*/
29562
  r[16].default
29563
- ), m = d1(
29564
  g,
29565
  r,
29566
  /*$$scope*/
@@ -29568,20 +29568,20 @@ function D1(r) {
29568
  null
29569
  );
29570
  function p() {
29571
- cancelAnimationFrame(l), n.paused || (l = _1(p), o = !0), r[20].call(n);
29572
  }
29573
  return {
29574
  c() {
29575
- e = Zc("div"), e.innerHTML = t, i = E1(), n = Zc("video"), m && m.c(), this.h();
29576
  },
29577
  l(v) {
29578
- e = Qc(v, "DIV", { class: !0, "data-svelte-h": !0 }), g1(e) !== "svelte-mez4j5" && (e.innerHTML = t), i = c1(v), n = Qc(v, "VIDEO", {
29579
  src: !0,
29580
  preload: !0,
29581
  "data-testid": !0,
29582
  crossorigin: !0
29583
  });
29584
- var y = u1(n);
29585
  m && m.l(y), y.forEach(Us), this.h();
29586
  },
29587
  h() {
@@ -29599,7 +29599,7 @@ function D1(r) {
29599
  r[9], n.loop = /*loop*/
29600
  r[10], ki(n, "data-testid", a = /*$$props*/
29601
  r[13]["data-testid"]), ki(n, "crossorigin", "anonymous"), /*duration*/
29602
- r[2] === void 0 && o1(() => (
29603
  /*video_durationchange_handler*/
29604
  r[21].call(n)
29605
  ));
@@ -29703,7 +29703,7 @@ function D1(r) {
29703
  /*video_play_pause_handler*/
29704
  r[22]
29705
  ),
29706
- a1(c = ty.call(null, n, { autoplay: (
29707
  /*autoplay*/
29708
  r[8] ?? !1
29709
  ) }))
@@ -29713,19 +29713,19 @@ function D1(r) {
29713
  (!d || y & /*processingVideo*/
29714
  2048) && td(e, "hidden", !/*processingVideo*/
29715
  v[11]), m && m.p && (!d || y & /*$$scope*/
29716
- 32768) && T1(
29717
  m,
29718
  g,
29719
  v,
29720
  /*$$scope*/
29721
  v[15],
29722
- d ? f1(
29723
  g,
29724
  /*$$scope*/
29725
  v[15],
29726
  y,
29727
  null
29728
- ) : h1(
29729
  /*$$scope*/
29730
  v[15]
29731
  ),
@@ -29757,26 +29757,26 @@ function D1(r) {
29757
  ) && (n.currentTime = /*currentTime*/
29758
  v[1]), o = !1, y & /*paused*/
29759
  8 && u !== (u = /*paused*/
29760
- v[3]) && n[u ? "pause" : "play"](), c && p1(c.update) && y & /*autoplay*/
29761
  256 && c.update.call(null, { autoplay: (
29762
  /*autoplay*/
29763
  v[8] ?? !1
29764
  ) });
29765
  },
29766
  i(v) {
29767
- d || (S1(m, v), d = !0);
29768
  },
29769
  o(v) {
29770
- b1(m, v), d = !1;
29771
  },
29772
  d(v) {
29773
- v && (Us(e), Us(i), Us(n)), m && m.d(v), r[23](null), h = !1, y1(f);
29774
  }
29775
  };
29776
  }
29777
- function I1(r, e, t) {
29778
  let { $$slots: i = {}, $$scope: n } = e, { src: s = void 0 } = e, { muted: a = void 0 } = e, { playsinline: o = void 0 } = e, { preload: l = void 0 } = e, { autoplay: u = void 0 } = e, { controls: c = void 0 } = e, { currentTime: d = void 0 } = e, { duration: h = void 0 } = e, { paused: f = void 0 } = e, { node: g = void 0 } = e, { loop: m } = e, { is_stream: p } = e, { processingVideo: v = !1 } = e, y = !1;
29779
- const _ = A1();
29780
  function S(L, B, G) {
29781
  if (!(!L || !B) && kt.isSupported() && !y) {
29782
  const N = new kt({
@@ -29824,7 +29824,7 @@ function I1(r, e, t) {
29824
  f = this.paused, t(3, f);
29825
  }
29826
  function F(L) {
29827
- l1[L ? "unshift" : "push"](() => {
29828
  g = L, t(0, g);
29829
  });
29830
  }
@@ -29861,9 +29861,9 @@ function I1(r, e, t) {
29861
  F
29862
  ];
29863
  }
29864
- class Gr extends r1 {
29865
  constructor(e) {
29866
- super(), m1(this, e, I1, D1, v1, {
29867
  src: 4,
29868
  muted: 5,
29869
  playsinline: 6,
@@ -29966,8 +29966,8 @@ class p4 extends TransformStream {
29966
  }
29967
  bi = new WeakMap();
29968
  var Vr = typeof self < "u" ? self : global;
29969
- const rs = typeof navigator < "u", x1 = rs && typeof HTMLImageElement > "u", Ir = !(typeof global > "u" || typeof process > "u" || !process.versions || !process.versions.node), vl = Vr.Buffer, Gs = Vr.BigInt, El = !!vl, L1 = (r) => r;
29970
- function xr(r, e = L1) {
29971
  if (Ir) try {
29972
  return typeof require == "function" ? Promise.resolve(e(require(r))) : import(
29973
  /* webpackIgnore: true */
@@ -29978,7 +29978,7 @@ function xr(r, e = L1) {
29978
  }
29979
  }
29980
  let Sl = Vr.fetch;
29981
- const C1 = (r) => Sl = r;
29982
  if (!Vr.fetch) {
29983
  const r = xr("http", (i) => i), e = xr("https", (i) => i), t = (i, { headers: n } = {}) => new Promise(async (s, a) => {
29984
  let { port: o, hostname: l, pathname: u, protocol: c, search: d } = new URL(i);
@@ -29996,14 +29996,14 @@ if (!Vr.fetch) {
29996
  });
29997
  f.on("error", a), f.end();
29998
  });
29999
- C1(t);
30000
  }
30001
  function ie(r, e, t) {
30002
  return e in r ? Object.defineProperty(r, e, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : r[e] = t, r;
30003
  }
30004
- const Lr = (r) => xg(r) ? void 0 : r, k1 = (r) => r !== void 0;
30005
  function xg(r) {
30006
- return r === void 0 || (r instanceof Map ? r.size === 0 : Object.values(r).filter(k1).length === 0);
30007
  }
30008
  function Oe(r) {
30009
  let e = new Error(r);
@@ -30158,8 +30158,8 @@ class bl extends Map {
30158
  }
30159
  }
30160
  var kn = new bl("file parser"), it = new bl("segment parser"), Fn = new bl("file reader");
30161
- function R1(r, e) {
30162
- return typeof r == "string" ? rd(r, e) : rs && !x1 && r instanceof HTMLImageElement ? rd(r.src, e) : r instanceof Uint8Array || r instanceof ArrayBuffer || r instanceof DataView ? new pt(r) : rs && r instanceof Blob ? Lo(r, e, "blob", Ro) : void Oe("Invalid input argument");
30163
  }
30164
  function rd(r, e) {
30165
  return (t = r).startsWith("data:") || t.length > 1e4 ? Co(r, e, "base64") : Ir && r.includes("://") ? Lo(r, e, "url", ko) : Ir ? Co(r, e, "fs") : rs ? Lo(r, e, "url", ko) : void Oe("Invalid input argument");
@@ -30179,7 +30179,7 @@ const ko = (r) => Sl(r).then((e) => e.arrayBuffer()), Ro = (r) => new Promise((e
30179
  let i = new FileReader();
30180
  i.onloadend = () => e(i.result || new ArrayBuffer()), i.onerror = t, i.readAsArrayBuffer(r);
30181
  });
30182
- class w1 extends Map {
30183
  get tagKeys() {
30184
  return this.allKeys || (this.allKeys = Array.from(this.keys())), this.allKeys;
30185
  }
@@ -30188,7 +30188,7 @@ class w1 extends Map {
30188
  }
30189
  }
30190
  function Xe(r, e, t) {
30191
- let i = new w1();
30192
  for (let [n, s] of t) i.set(n, s);
30193
  if (Array.isArray(e)) for (let n of e) r.set(n, i);
30194
  else r.set(e, i);
@@ -30322,12 +30322,12 @@ function Cr(r, e) {
30322
  for (let t of e) r.add(t);
30323
  }
30324
  ie(Tl, "default", st);
30325
- class F1 {
30326
  constructor(e) {
30327
  ie(this, "parsers", {}), ie(this, "output", {}), ie(this, "errors", []), ie(this, "pushToErrors", (t) => this.errors.push(t)), this.options = Tl.useCached(e);
30328
  }
30329
  async read(e) {
30330
- this.file = await R1(e, this.options);
30331
  }
30332
  setup() {
30333
  if (this.fileParser) return;
@@ -30357,8 +30357,8 @@ class F1 {
30357
  return t.close && t.close(), o;
30358
  }
30359
  }
30360
- async function P1(r, e) {
30361
- let t = new F1(e);
30362
  return await t.read(r), t.parse();
30363
  }
30364
  class Kr {
@@ -30436,13 +30436,13 @@ class Qt {
30436
  }
30437
  }
30438
  ie(Qt, "headerLength", 4), ie(Qt, "type", void 0), ie(Qt, "multiSegment", !1), ie(Qt, "canHandle", () => !1);
30439
- function O1(r) {
30440
  return r === 192 || r === 194 || r === 196 || r === 219 || r === 221 || r === 218 || r === 254;
30441
  }
30442
- function $1(r) {
30443
  return r >= 224 && r <= 239;
30444
  }
30445
- function M1(r, e, t) {
30446
  for (let [i, n] of it) if (n.canHandle(r, e, t)) return i;
30447
  }
30448
  class ld extends Kr {
@@ -30476,10 +30476,10 @@ class ld extends Kr {
30476
  t -= 2;
30477
  let i, n, s, a, o, l, { file: u, findAll: c, wanted: d, remaining: h, options: f } = this;
30478
  for (; e < t; e++) if (u.getUint8(e) === 255) {
30479
- if (i = u.getUint8(e + 1), $1(i)) {
30480
- if (n = u.getUint16(e + 2), s = M1(u, e, n), s && d.has(s) && (a = it.get(s), o = a.findPosition(u, e), l = f[s], o.type = s, this.appSegments.push(o), !c && (a.multiSegment && l.multiSegment ? (this.unfinishedMultiSegment = o.chunkNumber < o.chunkCount, this.unfinishedMultiSegment || h.delete(s)) : h.delete(s), h.size === 0))) break;
30481
  f.recordUnknownSegments && (o = Qt.findPosition(u, e), o.marker = i, this.unknownSegments.push(o)), e += n + 1;
30482
- } else if (O1(i)) {
30483
  if (n = u.getUint16(e + 2), i === 218 && f.stopAfterSos !== !1) return;
30484
  f.recordJpegSegments && this.jpegSegments.push({ offset: e, length: n, marker: i }), e += n + 1;
30485
  }
@@ -30507,8 +30507,8 @@ class ld extends Kr {
30507
  }
30508
  }
30509
  ie(ld, "type", "jpeg"), kn.set("jpeg", ld);
30510
- const B1 = [void 0, 1, 1, 2, 4, 8, 1, 1, 2, 4, 8, 4, 8, 4];
30511
- class N1 extends Qt {
30512
  parseHeader() {
30513
  var e = this.chunk.getUint16();
30514
  e === 18761 ? this.le = !0 : e === 19789 && (this.le = !1), this.chunk.le = this.le, this.headerParsed = !0;
@@ -30528,7 +30528,7 @@ class N1 extends Qt {
30528
  return i;
30529
  }
30530
  parseTag(e, t, i) {
30531
- let { chunk: n } = this, s = n.getUint16(e + 2), a = n.getUint32(e + 4), o = B1[s];
30532
  if (o * a <= 4 ? e += 8 : e = n.getUint32(e + 8), (s < 1 || s > 13) && Oe(`Invalid TIFF value type. block: ${i.toUpperCase()}, tag: ${t.toString(16)}, type: ${s}, offset ${e}`), e > n.byteLength && Oe(`Invalid TIFF value offset. block: ${i.toUpperCase()}, tag: ${t.toString(16)}, type: ${s}, offset ${e} is outside of chunk size ${n.byteLength}`), s === 1) return n.getUint8Array(e, a);
30533
  if (s === 2) return Hi(n.getString(e, a));
30534
  if (s === 7) return n.getUint8Array(e, a);
@@ -30594,7 +30594,7 @@ class N1 extends Qt {
30594
  }
30595
  }
30596
  }
30597
- class qa extends N1 {
30598
  static canHandle(e, t) {
30599
  return e.getUint8(t + 1) === 225 && e.getUint32(t + 4) === 1165519206 && e.getUint16(t + 8) === 0;
30600
  }
@@ -30699,9 +30699,9 @@ if (typeof navigator == "object") {
30699
  let [, e] = r.match(/Firefox\/(\d+)/);
30700
  }
30701
  }
30702
- class U1 extends pt {
30703
  constructor(...e) {
30704
- super(...e), ie(this, "ranges", new G1()), this.byteLength !== 0 && this.ranges.add(0, this.byteLength);
30705
  }
30706
  _tryExtend(e, t, i) {
30707
  if (e === 0 && this.byteLength === 0 && i) {
@@ -30736,7 +30736,7 @@ class U1 extends pt {
30736
  return this.ranges.available(e, t);
30737
  }
30738
  }
30739
- class G1 {
30740
  constructor() {
30741
  ie(this, "list", []);
30742
  }
@@ -30759,7 +30759,7 @@ class G1 {
30759
  function cd(r, e, t) {
30760
  return r <= e && e <= t;
30761
  }
30762
- class Hr extends U1 {
30763
  constructor(e, t) {
30764
  super(0), ie(this, "chunksRead", 0), this.input = e, this.options = t;
30765
  }
@@ -30826,7 +30826,7 @@ pt.prototype.getUint64 = function(r) {
30826
  let e = this.getUint32(r), t = this.getUint32(r + 4);
30827
  return e < 1048575 ? e << 32 | t : typeof Gs !== void 0 ? (console.warn("Using BigInt because of type 64uint but JS can only handle 53b numbers."), Gs(e) << Gs(32) | Gs(t)) : void Oe("Trying to read 64b value but JS can only handle 53b numbers.");
30828
  };
30829
- class V1 extends Kr {
30830
  parseBoxes(e = 0) {
30831
  let t = [];
30832
  for (; e < this.file.byteLength - 4; ) {
@@ -30852,7 +30852,7 @@ class V1 extends Kr {
30852
  e.version = t >> 24, e.start += 4;
30853
  }
30854
  }
30855
- class wg extends V1 {
30856
  static canHandle(e, t) {
30857
  if (t !== 0) return !1;
30858
  let i = e.getUint16(2);
@@ -30974,7 +30974,7 @@ class ja extends Qt {
30974
  e = function(s) {
30975
  let a = {}, o = {};
30976
  for (let l of Mg) a[l] = [], o[l] = 0;
30977
- return s.replace(z1, (l, u, c) => {
30978
  if (u === "<") {
30979
  let d = ++o[c];
30980
  return a[c].push(d), `${l}#${d}`;
@@ -30985,7 +30985,7 @@ class ja extends Qt {
30985
  let t = In.findAll(e, "rdf", "Description");
30986
  t.length === 0 && t.push(new In("rdf", "Description", void 0, e));
30987
  let i, n = {};
30988
- for (let s of t) for (let a of s.properties) i = q1(a.ns, n), Pg(a, i);
30989
  return function(s) {
30990
  let a;
30991
  for (let o in s) a = s[o] = Lr(s[o]), a === void 0 && delete s[o];
@@ -31056,7 +31056,7 @@ class In {
31056
  if (this.properties.length === 0 && this.value === void 0) return;
31057
  if (this.isPrimitive) return this.value;
31058
  if (this.isListContainer) return this.children[0].serialize();
31059
- if (this.isList) return H1(this.children.map(K1));
31060
  if (this.isListItem && this.children.length === 1 && this.attrs.length === 0) return this.children[0].serialize();
31061
  let e = {};
31062
  for (let t of this.properties) Pg(t, e);
@@ -31067,7 +31067,7 @@ function Pg(r, e) {
31067
  let t = r.serialize();
31068
  t !== void 0 && (e[r.name] = t);
31069
  }
31070
- var K1 = (r) => r.serialize(), H1 = (r) => r.length === 1 ? r[0] : r, q1 = (r, e) => e[r] ? e[r] : e[r] = {};
31071
  function Og(r, e) {
31072
  let t, i = [];
31073
  if (!r) return i;
@@ -31083,7 +31083,7 @@ function $g(r) {
31083
  let t = r.toLowerCase();
31084
  return t === "true" || t !== "false" && r.trim();
31085
  }
31086
- const Mg = ["rdf:li", "rdf:Seq", "rdf:Bag", "rdf:Alt", "rdf:Description"], z1 = new RegExp(`(<|\\/)(${Mg.join("|")})`, "g");
31087
  let pd = xr("fs", (r) => r.promises);
31088
  Fn.set("fs", class extends Hr {
31089
  async readWhole() {
@@ -31153,8 +31153,8 @@ let _d = class extends Kr {
31153
  }
31154
  };
31155
  ie(_d, "type", "tiff"), kn.set("tiff", _d);
31156
- let W1 = xr("zlib");
31157
- const j1 = ["ihdr", "iccp", "text", "itxt", "exif"];
31158
  class yd extends Kr {
31159
  constructor(...e) {
31160
  super(...e), ie(this, "catchError", (t) => this.errors.push(t)), ie(this, "metaChunks", []), ie(this, "unknownChunks", []);
@@ -31170,7 +31170,7 @@ class yd extends Kr {
31170
  let { file: i } = this;
31171
  for (; e < t; ) {
31172
  let n = i.getUint32(e), s = i.getUint32(e + 4), a = i.getString(e + 4, 4).toLowerCase(), o = n + 4 + 4 + 4, l = { type: a, offset: e, length: o, start: e + 4 + 4, size: n, marker: s };
31173
- j1.includes(a) ? this.metaChunks.push(l) : this.unknownChunks.push(l), e += o;
31174
  }
31175
  }
31176
  parseTextChunks() {
@@ -31204,7 +31204,7 @@ class yd extends Kr {
31204
  for (; n < 80 && i[n] !== 0; ) n++;
31205
  let s = n + 2, a = t.getString(0, n);
31206
  if (this.injectKeyValToIhdr("ProfileName", a), Ir) {
31207
- let o = await W1, l = t.getUint8Array(s);
31208
  l = o.inflateSync(l), this.injectSegment("icc", l);
31209
  }
31210
  }
@@ -31259,7 +31259,7 @@ class lr extends Qt {
31259
  parseHeader() {
31260
  let { raw: e } = this;
31261
  this.chunk.byteLength < 84 && Oe("ICC header is too short");
31262
- for (let [t, i] of Object.entries(Y1)) {
31263
  t = parseInt(t, 10);
31264
  let n = i(this.chunk, t);
31265
  n !== "\0\0\0\0" && e.set(t, n);
@@ -31308,7 +31308,7 @@ class lr extends Qt {
31308
  }
31309
  }
31310
  ie(lr, "type", "icc"), ie(lr, "multiSegment", !0), ie(lr, "headerLength", 18);
31311
- const Y1 = { 4: yi, 8: function(r, e) {
31312
  return [r.getUint8(e), r.getUint8(e + 1) >> 4, r.getUint8(e + 1) % 16].map((t) => t.toString(10)).join(".");
31313
  }, 12: yi, 16: yi, 20: yi, 24: function(r, e) {
31314
  const t = r.getUint16(e), i = r.getUint16(e + 2) - 1, n = r.getUint16(e + 4), s = r.getUint16(e + 6), a = r.getUint16(e + 8), o = r.getUint16(e + 10);
@@ -31348,19 +31348,19 @@ class Ws extends Qt {
31348
  }
31349
  }
31350
  ie(Ws, "type", "iptc"), ie(Ws, "translateValues", !1), ie(Ws, "reviveValues", !1), it.set("iptc", Ws), Xe(Et, "iptc", [[0, "ApplicationRecordVersion"], [3, "ObjectTypeReference"], [4, "ObjectAttributeReference"], [5, "ObjectName"], [7, "EditStatus"], [8, "EditorialUpdate"], [10, "Urgency"], [12, "SubjectReference"], [15, "Category"], [20, "SupplementalCategories"], [22, "FixtureIdentifier"], [25, "Keywords"], [26, "ContentLocationCode"], [27, "ContentLocationName"], [30, "ReleaseDate"], [35, "ReleaseTime"], [37, "ExpirationDate"], [38, "ExpirationTime"], [40, "SpecialInstructions"], [42, "ActionAdvised"], [45, "ReferenceService"], [47, "ReferenceDate"], [50, "ReferenceNumber"], [55, "DateCreated"], [60, "TimeCreated"], [62, "DigitalCreationDate"], [63, "DigitalCreationTime"], [65, "OriginatingProgram"], [70, "ProgramVersion"], [75, "ObjectCycle"], [80, "Byline"], [85, "BylineTitle"], [90, "City"], [92, "Sublocation"], [95, "State"], [100, "CountryCode"], [101, "Country"], [103, "OriginalTransmissionReference"], [105, "Headline"], [110, "Credit"], [115, "Source"], [116, "CopyrightNotice"], [118, "Contact"], [120, "Caption"], [121, "LocalCaption"], [122, "Writer"], [125, "RasterizedCaption"], [130, "ImageType"], [131, "ImageOrientation"], [135, "LanguageIdentifier"], [150, "AudioType"], [151, "AudioSamplingRate"], [152, "AudioSamplingResolution"], [153, "AudioDuration"], [154, "AudioOutcue"], [184, "JobID"], [185, "MasterDocumentID"], [186, "ShortDocumentID"], [187, "UniqueDocumentID"], [188, "OwnerID"], [200, "ObjectPreviewFileFormat"], [201, "ObjectPreviewFileVersion"], [202, "ObjectPreviewData"], [221, "Prefs"], [225, "ClassifyState"], [228, "SimilarityIndex"], [230, "DocumentNotes"], [231, "DocumentHistory"], [232, "ExifCameraInfo"], [255, "CatalogSets"]]), Xe(rn, "iptc", [[10, { 0: "0 (reserved)", 1: "1 (most urgent)", 2: "2", 3: "3", 4: "4", 5: "5 (normal urgency)", 6: "6", 7: "7", 8: "8 (least urgent)", 9: "9 (user-defined priority)" }], [75, { a: "Morning", b: "Both Morning and Evening", p: "Evening" }], [131, { L: "Landscape", P: "Portrait", S: "Square" }]]);
31351
- async function X1(r) {
31352
  return r ? `<div style="display: flex; flex-wrap: wrap; gap: 16px">${(await Promise.all(
31353
  r.map(async ([t, i]) => t === null || !t.url ? "" : await Z0(t.url))
31354
  )).map((t) => `<img src="${t}" style="height: 400px" />`).join("")}</div>` : "";
31355
  }
31356
- async function Q1(r, e) {
31357
  if (!(r != null && r.url))
31358
  return null;
31359
  const t = r.url.toLowerCase();
31360
  if (t.endsWith(".svg"))
31361
  return {};
31362
  try {
31363
- const i = await P1(r.url, !0);
31364
  if (!i)
31365
  return {};
31366
  if (t.endsWith(".png")) {
@@ -31390,7 +31390,7 @@ async function Q1(r, e) {
31390
  return console.error("Failed to extract or process metadata:", i), { error: "Failed to extract metadata" };
31391
  }
31392
  }
31393
- const Z1 = /* @__PURE__ */ new Set([
31394
  "ImageWidth",
31395
  "ImageHeight",
31396
  "BitsPerSample",
@@ -31511,7 +31511,7 @@ const Z1 = /* @__PURE__ */ new Set([
31511
  "ThumbnailOffset",
31512
  "ThumbnailLength"
31513
  ]), {
31514
- SvelteComponent: J1,
31515
  append_hydration: ue,
31516
  attr: ae,
31517
  binding_callbacks: js,
@@ -31661,7 +31661,7 @@ function oT(r) {
31661
  s && s.l(g), g.forEach(Q), f.forEach(Q), this.h();
31662
  },
31663
  h() {
31664
- ae(i, "class", "grid-wrap svelte-6hcxqi"), mt(
31665
  i,
31666
  "minimal",
31667
  /*mode*/
@@ -31681,7 +31681,7 @@ function oT(r) {
31681
  /*height*/
31682
  r[6] !== "auto" ? `${/*height*/
31683
  r[6]}px` : null
31684
- ), ae(e, "class", "gallery-container svelte-6hcxqi");
31685
  },
31686
  m(h, f) {
31687
  _e(h, e, f), o && o.m(e, null), ue(e, t), ue(e, i), ~n && u[n].m(i, null), r[57](e), a = !0;
@@ -31827,12 +31827,12 @@ function xd(r) {
31827
  x.forEach(Q), c = Le(A), b && b.l(A), A.forEach(Q), this.h();
31828
  },
31829
  h() {
31830
- ae(n, "class", "media-container svelte-6hcxqi"), ae(u, "class", "thumbnails scroll-hide svelte-6hcxqi"), gt(
31831
  u,
31832
  "justify-content",
31833
  /*thumbnails_overflow*/
31834
  r[24] ? "flex-start" : "center"
31835
- ), ae(e, "class", "preview svelte-6hcxqi"), ae(e, "aria-label", "Image Preview"), ae(e, "tabindex", "-1"), mt(
31836
  e,
31837
  "minimal",
31838
  /*mode*/
@@ -32059,7 +32059,7 @@ function Rd(r) {
32059
  /*value*/
32060
  r[4]
32061
  ),
32062
- formatter: X1
32063
  }
32064
  }), t.$on(
32065
  "share",
@@ -32294,7 +32294,7 @@ function Fd(r) {
32294
  i = Qi(s, t), s.forEach(Q), this.h();
32295
  },
32296
  h() {
32297
- ae(e, "class", "caption svelte-6hcxqi");
32298
  },
32299
  m(n, s) {
32300
  _e(n, e, s), ue(e, i);
@@ -32436,7 +32436,7 @@ function Pd(r) {
32436
  i.l(v), n = Le(v), v.forEach(Q), this.h();
32437
  },
32438
  h() {
32439
- ae(e, "class", "thumbnail-item thumbnail-small svelte-6hcxqi"), ae(e, "aria-label", s = "Thumbnail " + /*i*/
32440
  (r[66] + 1) + " of " + /*resolved_value*/
32441
  r[16].length), mt(
32442
  e,
@@ -32503,7 +32503,7 @@ function Od(r) {
32503
  i = he(v, "BUTTON", { class: !0, "data-svelte-h": !0 }), Rr(i) !== "svelte-1irq3m4" && (i.textContent = n), s = Le(v), a = he(v, "H3", { class: !0, "data-svelte-h": !0 }), Rr(a) !== "svelte-1tc7pig" && (a.textContent = o), l = Le(v), g.l(v), v.forEach(Q), p.forEach(Q), this.h();
32504
  },
32505
  h() {
32506
- ae(i, "class", "close-button svelte-6hcxqi"), ae(a, "class", "popup-title svelte-6hcxqi"), ae(t, "class", "popup-content svelte-6hcxqi"), ae(e, "class", "metadata-popup svelte-6hcxqi"), ae(e, "role", "presentation"), gt(e, "width", typeof /*popup_metadata_width*/
32507
  r[15] == "number" ? `${/*popup_metadata_width*/
32508
  r[15]}px` : (
32509
  /*popup_metadata_width*/
@@ -32548,7 +32548,7 @@ function gT(r) {
32548
  e = he(i, "P", { class: !0, "data-svelte-h": !0 }), Rr(e) !== "svelte-1qb2m81" && (e.textContent = t), this.h();
32549
  },
32550
  h() {
32551
- ae(e, "class", "no-metadata-message svelte-6hcxqi");
32552
  },
32553
  m(i, n) {
32554
  _e(i, e, n);
@@ -32585,7 +32585,7 @@ function mT(r) {
32585
  g.forEach(Q), f.forEach(Q), h.forEach(Q), n = Le(d), s = he(d, "BUTTON", { class: !0, "data-svelte-h": !0 }), Rr(s) !== "svelte-o01tbk" && (s.textContent = a), this.h();
32586
  },
32587
  h() {
32588
- ae(t, "class", "metadata-table svelte-6hcxqi"), ae(e, "class", "metadata-table-container svelte-6hcxqi"), ae(s, "class", "load-metadata-button svelte-6hcxqi");
32589
  },
32590
  m(d, h) {
32591
  _e(d, e, h), ue(e, t), ue(t, i);
@@ -32642,7 +32642,7 @@ function $d(r) {
32642
  l = Qi(f, o), f.forEach(Q), u = Le(d), d.forEach(Q), this.h();
32643
  },
32644
  h() {
32645
- ae(t, "class", "metadata-label svelte-6hcxqi"), ae(a, "class", "metadata-value svelte-6hcxqi");
32646
  },
32647
  m(c, d) {
32648
  _e(c, e, d), ue(e, t), ue(t, n), ue(e, s), ue(e, a), ue(a, l), ue(e, u);
@@ -32714,7 +32714,7 @@ function pT(r) {
32714
  a.l(b), o = Le(b), m && m.l(b), b.forEach(Q), S.forEach(Q), l = Le(_), p && p.l(_), _.forEach(Q), y.forEach(Q), this.h();
32715
  },
32716
  h() {
32717
- ae(n, "class", "thumbnail-item thumbnail-lg svelte-6hcxqi"), ae(n, "aria-label", "View single item in preview mode"), ae(i, "class", "gallery-item svelte-6hcxqi"), ae(t, "class", "gallery-item-with-name svelte-6hcxqi"), ae(e, "class", "single-item-wrapper svelte-6hcxqi"), gt(
32718
  e,
32719
  "--object-fit",
32720
  /*object_fit*/
@@ -32779,7 +32779,7 @@ function _T(r) {
32779
  o.forEach(Q), this.h();
32780
  },
32781
  h() {
32782
- ae(e, "class", "grid-container svelte-6hcxqi"), mt(
32783
  e,
32784
  "pt-6",
32785
  /*show_label*/
@@ -32987,7 +32987,7 @@ function Bd(r) {
32987
  i = Qi(s, t), s.forEach(Q), this.h();
32988
  },
32989
  h() {
32990
- ae(e, "class", "caption-label svelte-6hcxqi");
32991
  },
32992
  m(n, s) {
32993
  _e(n, e, s), ue(e, i);
@@ -33017,7 +33017,7 @@ function Nd(r) {
33017
  i = Qi(a, t), a.forEach(Q), this.h();
33018
  },
33019
  h() {
33020
- ae(e, "class", "thumbnail-filename svelte-6hcxqi"), ae(e, "title", n = /*file_name*/
33021
  r[64]);
33022
  },
33023
  m(s, a) {
@@ -33139,7 +33139,7 @@ function Ud(r) {
33139
  i = Qi(s, t), s.forEach(Q), this.h();
33140
  },
33141
  h() {
33142
- ae(e, "class", "caption-label svelte-6hcxqi");
33143
  },
33144
  m(n, s) {
33145
  _e(n, e, s), ue(e, i);
@@ -33169,7 +33169,7 @@ function Gd(r) {
33169
  i = Qi(a, t), a.forEach(Q), this.h();
33170
  },
33171
  h() {
33172
- ae(e, "class", "thumbnail-filename svelte-6hcxqi"), ae(e, "title", n = /*file_name*/
33173
  r[64]);
33174
  },
33175
  m(s, a) {
@@ -33226,7 +33226,7 @@ function Vd(r) {
33226
  s.l(I), a = Le(I), p && p.l(I), I.forEach(Q), b.forEach(Q), l = Le(S), y && y.l(S), u = Le(S), S.forEach(Q), this.h();
33227
  },
33228
  h() {
33229
- ae(i, "class", "thumbnail-item thumbnail-lg svelte-6hcxqi"), ae(i, "aria-label", o = "Thumbnail " + /*i*/
33230
  (r[66] + 1) + " of " + /*resolved_value*/
33231
  r[16].length), mt(
33232
  i,
@@ -33234,7 +33234,7 @@ function Vd(r) {
33234
  /*selected_index*/
33235
  r[0] === /*i*/
33236
  r[66]
33237
- ), ae(t, "class", "gallery-item svelte-6hcxqi"), ae(e, "class", "gallery-item-with-name svelte-6hcxqi");
33238
  },
33239
  m(_, S) {
33240
  _e(_, e, S), ue(e, t), ue(t, i), g[n].m(i, null), ue(i, a), p && p.m(i, null), ue(e, l), y && y.m(e, null), ue(e, u), c = !0, d || (h = $i(i, "click", v), d = !0);
@@ -33351,7 +33351,7 @@ function AT(r, e, t) {
33351
  }
33352
  if (!n) return;
33353
  const M = "image" in n ? n.image : null;
33354
- M && (t(26, te = !0), t(43, J = await Q1(M, F)), t(26, te = !1), t(25, X = !0));
33355
  }
33356
  function K() {
33357
  i !== null && (B("load_metadata", i), Ve());
@@ -33464,7 +33464,7 @@ function AT(r, e, t) {
33464
  index: S,
33465
  value: P == null ? void 0 : P[S]
33466
  }))), r.$$.dirty[1] & /*only_custom_metadata, metadata*/
33467
- 4608 && t(28, i = F && J ? Object.fromEntries(Object.entries(J || {}).filter(([Je]) => !Z1.has(Je))) : J), r.$$.dirty[0] & /*value*/
33468
  16 && (c == null || c.length), r.$$.dirty[0] & /*resolved_value*/
33469
  65536 | r.$$.dirty[1] & /*columns*/
33470
  32)
@@ -33547,7 +33547,7 @@ function AT(r, e, t) {
33547
  qr
33548
  ];
33549
  }
33550
- class DT extends J1 {
33551
  constructor(e) {
33552
  super(), eT(
33553
  this,
 
22322
  function zt(r) {
22323
  return `[${r.event ? '"' + r.event.identifier + '"' : "primary"}: ${r.start.toFixed(2)}-${r.end.toFixed(2)}]`;
22324
  }
22325
+ class e1 {
22326
  constructor(e) {
22327
  this.hls = void 0, this.hls = e;
22328
  }
 
22396
  function Ps(r, e) {
22397
  return `[${r}] Advancing timeline position to ${e}`;
22398
  }
22399
+ class t1 extends Vt {
22400
  constructor(e, t) {
22401
  super("interstitials", e.logger), this.HlsPlayerClass = void 0, this.hls = void 0, this.assetListLoader = void 0, this.mediaSelection = null, this.altSelection = null, this.media = null, this.detachedData = null, this.requiredTracks = null, this.manager = null, this.playerQueue = [], this.bufferedPos = -1, this.timelinePos = -1, this.schedule = void 0, this.playingItem = null, this.bufferingItem = null, this.waitingItem = null, this.endedItem = null, this.playingAsset = null, this.endedAsset = null, this.bufferingAsset = null, this.shouldPlay = !1, this.onPlay = () => {
22402
  this.shouldPlay = !0;
 
22500
  }
22501
  a && this.trimInPlace(h, a), g && f !== h && this.trimInPlace(f, g), this.checkBuffer();
22502
  }
22503
+ }, this.hls = e, this.HlsPlayerClass = t, this.assetListLoader = new e1(e), this.schedule = new JS(this.onScheduleUpdate, e.logger), this.registerListeners();
22504
  }
22505
  registerListeners() {
22506
  const e = this.hls;
 
23693
  }
23694
  }
23695
  const Mc = 500;
23696
+ class i1 extends rl {
23697
  constructor(e, t, i) {
23698
  super(e, t, i, "subtitle-stream-controller", z.SUBTITLE), this.currentTrackId = -1, this.tracksBuffered = [], this.mainDetails = null, this.registerListeners();
23699
  }
 
23913
  Pe(e) ? super.loadFragment(e, t, i) : this._loadInitSegment(e, t);
23914
  }
23915
  get mediaBufferTimeRanges() {
23916
+ return new n1(this.tracksBuffered[this.currentTrackId] || []);
23917
  }
23918
  }
23919
+ class n1 {
23920
  constructor(e) {
23921
  this.buffered = void 0;
23922
  const t = (i, n, s) => {
 
23937
  };
23938
  }
23939
  }
23940
+ const s1 = {
23941
  42: 225,
23942
  // lowercase a, acute accent
23943
  92: 233,
 
24125
  // Box drawings heavy up and right
24126
  207: 9499
24127
  // Box drawings heavy up and left
24128
+ }, mg = (r) => String.fromCharCode(s1[r] || r), Xt = 15, _i = 100, r1 = {
24129
  17: 1,
24130
  18: 3,
24131
  21: 5,
 
24134
  16: 11,
24135
  19: 12,
24136
  20: 14
24137
+ }, a1 = {
24138
  17: 2,
24139
  18: 4,
24140
  21: 6,
 
24142
  23: 10,
24143
  19: 13,
24144
  20: 15
24145
+ }, o1 = {
24146
  25: 1,
24147
  26: 3,
24148
  29: 5,
 
24151
  24: 11,
24152
  27: 12,
24153
  28: 14
24154
+ }, l1 = {
24155
  25: 2,
24156
  26: 4,
24157
  29: 6,
 
24159
  31: 10,
24160
  27: 13,
24161
  28: 15
24162
+ }, u1 = ["white", "green", "blue", "cyan", "red", "yellow", "magenta", "black", "transparent"];
24163
+ class c1 {
24164
  constructor() {
24165
  this.time = null, this.verboseLevel = 0;
24166
  }
 
24204
  return "color=" + this.foreground + ", underline=" + this.underline + ", italics=" + this.italics + ", background=" + this.background + ", flash=" + this.flash;
24205
  }
24206
  }
24207
+ class d1 {
24208
  constructor() {
24209
  this.uchar = " ", this.penState = new pg();
24210
  }
 
24227
  return this.uchar === " " && this.penState.isDefault();
24228
  }
24229
  }
24230
+ class h1 {
24231
  constructor(e) {
24232
  this.chars = [], this.pos = 0, this.currPenState = new pg(), this.cueStartTime = null, this.logger = void 0;
24233
  for (let t = 0; t < _i; t++)
24234
+ this.chars.push(new d1());
24235
  this.logger = e;
24236
  }
24237
  equals(e) {
 
24312
  constructor(e) {
24313
  this.rows = [], this.currRow = Xt - 1, this.nrRollUpRows = null, this.lastOutputScreen = null, this.logger = void 0;
24314
  for (let t = 0; t < Xt; t++)
24315
+ this.rows.push(new h1(e));
24316
  this.logger = e;
24317
  }
24318
  reset() {
 
24527
  }
24528
  class Nc {
24529
  constructor(e, t, i) {
24530
+ this.channels = void 0, this.currentChannel = 0, this.cmdHistory = g1(), this.logger = void 0;
24531
+ const n = this.logger = new c1();
24532
  this.channels = [null, new Bc(e, t, n), new Bc(e + 1, i, n)];
24533
  }
24534
  getHandler(e) {
 
24550
  this.logger.log(3, () => "[" + Vi([t[i], t[i + 1]]) + "] -> (" + Vi([n, s]) + ")");
24551
  const l = this.cmdHistory;
24552
  if (n >= 16 && n <= 31) {
24553
+ if (f1(n, s, l)) {
24554
  Os(null, null, l), this.logger.log(3, () => "Repeated command (" + Vi([n, s]) + ") is dropped");
24555
  continue;
24556
  }
 
24598
  if (!(n || s))
24599
  return !1;
24600
  const a = e <= 23 ? 1 : 2;
24601
+ t >= 64 && t <= 95 ? i = a === 1 ? r1[e] : o1[e] : i = a === 1 ? a1[e] : l1[e];
24602
  const o = this.channels[a];
24603
  return o ? (o.setPAC(this.interpretPAC(i, t)), this.currentChannel = a, !0) : !1;
24604
  }
 
24639
  return !1;
24640
  let s;
24641
  const a = {};
24642
+ e === 16 || e === 24 ? (s = Math.floor((t - 32) / 2), a.background = u1[s], t % 2 === 1 && (a.background = a.background + "_semi")) : t === 45 ? a.background = "transparent" : (a.foreground = "black", t === 47 && (a.underline = !0));
24643
  const o = e <= 23 ? 1 : 2;
24644
  return this.channels[o].setBkgData(a), !0;
24645
  }
 
24666
  function Os(r, e, t) {
24667
  t.a = r, t.b = e;
24668
  }
24669
+ function f1(r, e, t) {
24670
  return t.a === r && t.b === e;
24671
  }
24672
+ function g1() {
24673
  return {
24674
  a: null,
24675
  b: null
 
24832
  return self.WebVTT.convertCueToDOMTree(self, this.text);
24833
  }, a;
24834
  }();
24835
+ class m1 {
24836
  decode(e, t) {
24837
  if (!e)
24838
  return "";
 
24848
  const t = r.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);
24849
  return t ? parseFloat(t[2]) > 59 ? e(t[2], t[3], 0, t[4]) : e(t[1], t[2], t[3], t[4]) : null;
24850
  }
24851
+ class p1 {
24852
  constructor() {
24853
  this.values = /* @__PURE__ */ Object.create(null);
24854
  }
 
24903
  }
24904
  }
24905
  const bo = new _l(0, 0, ""), $s = bo.align === "middle" ? "middle" : "center";
24906
+ function _1(r, e, t) {
24907
  const i = r;
24908
  function n() {
24909
  const o = _g(r);
 
24912
  return r = r.replace(/^[^\sa-zA-Z-]+/, ""), o;
24913
  }
24914
  function s(o, l) {
24915
+ const u = new p1();
24916
  yg(o, function(h, f) {
24917
  let g;
24918
  switch (h) {
 
24956
  return r.replace(/<br(?: \/)?>/gi, `
24957
  `);
24958
  }
24959
+ class y1 {
24960
  constructor() {
24961
+ this.state = "INITIAL", this.buffer = "", this.decoder = new m1(), this.regionList = [], this.cue = null, this.oncue = void 0, this.onparsingerror = void 0, this.onflush = void 0;
24962
  }
24963
  parse(e) {
24964
  const t = this;
 
25017
  continue;
25018
  }
25019
  try {
25020
+ _1(s, t.cue, t.regionList);
25021
  } catch {
25022
  t.cue = null, t.state = "BADCUE";
25023
  continue;
 
25059
  return e.onflush && e.onflush(), this;
25060
  }
25061
  }
25062
+ const v1 = /\r\n|\n\r|\n|\r/g, Pa = function(e, t, i = 0) {
25063
  return e.slice(i, i + t.length) === t;
25064
+ }, E1 = function(e) {
25065
  let t = parseInt(e.slice(-3));
25066
  const i = parseInt(e.slice(-6, -4)), n = parseInt(e.slice(-9, -7)), s = e.length > 9 ? parseInt(e.substring(0, e.indexOf(":"))) : 0;
25067
  if (!H(t) || !H(i) || !H(n) || !H(s))
 
25071
  function yl(r, e, t) {
25072
  return jn(r.toString()) + jn(e.toString()) + jn(t);
25073
  }
25074
+ const S1 = function(e, t, i) {
25075
  let n = e[t], s = e[n.prevCC];
25076
  if (!s || !s.new && n.new) {
25077
  e.ccOffset = e.presentationOffset = n.start, n.new = !1;
 
25083
  }
25084
  e.presentationOffset = i;
25085
  };
25086
+ function b1(r, e, t, i, n, s, a) {
25087
+ const o = new y1(), l = wt(new Uint8Array(r)).trim().replace(v1, `
25088
  `).split(`
25089
  `), u = [], c = e ? LE(e.baseTime, e.timescale) : 0;
25090
  let d = "00:00.000", h = 0, f = 0, g, m = !0;
 
25092
  const v = t[i];
25093
  let y = t.ccOffset;
25094
  const _ = (h - c) / 9e4;
25095
+ if (v != null && v.new && (f !== void 0 ? y = t.ccOffset = v.start : S1(t, i, _)), _) {
25096
  if (!e) {
25097
  g = new Error("Missing initPTS for VTT MPEGTS");
25098
  return;
 
25118
  Pa(v, "LOCAL:") ? d = v.slice(6) : Pa(v, "MPEGTS:") && (h = parseInt(v.slice(7)));
25119
  });
25120
  try {
25121
+ f = E1(d) / 1e3;
25122
  } catch (v) {
25123
  g = v;
25124
  }
 
25128
  `);
25129
  }), o.flush();
25130
  }
25131
+ const Oa = "stpp.ttml.im1t", Eg = /^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/, Sg = /^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/, T1 = {
25132
  left: "start",
25133
  center: "center",
25134
  right: "end",
 
25143
  }
25144
  const s = n.map((o) => wt(o)), a = xE(e.baseTime, 1, e.timescale);
25145
  try {
25146
+ s.forEach((o) => t(A1(o, a)));
25147
  } catch (o) {
25148
  i(o);
25149
  }
25150
  }
25151
+ function A1(r, e) {
25152
  const n = new DOMParser().parseFromString(r, "text/xml").getElementsByTagName("tt")[0];
25153
  if (!n)
25154
  throw new Error("Invalid ttml");
 
25173
  }
25174
  const p = new _l(f - e, m - e, h);
25175
  p.id = yl(p.startTime, p.endTime, p.text);
25176
+ const v = u[d.getAttribute("region")], y = l[d.getAttribute("style")], _ = D1(v, y, l), {
25177
  textAlign: S
25178
  } = _;
25179
  if (S) {
25180
+ const b = T1[S];
25181
  b && (p.lineAlign = b), p.align = S;
25182
  }
25183
  return Ee(p, _), p;
 
25200
  ` : (s = i.childNodes) != null && s.length ? bg(i, e) : e ? t + i.textContent.trim().replace(/\s+/g, " ") : t + i.textContent;
25201
  }, "");
25202
  }
25203
+ function D1(r, e, t) {
25204
  const i = "http://www.w3.org/ns/ttml#styling";
25205
  let n = null;
25206
  const s = [
 
25232
  if (!r)
25233
  return null;
25234
  let t = _g(r);
25235
+ return t === null && (Eg.test(r) ? t = I1(r, e) : Sg.test(r) && (t = x1(r, e))), t;
25236
  }
25237
+ function I1(r, e) {
25238
  const t = Eg.exec(r), i = (t[4] | 0) + (t[5] | 0) / e.subFrameRate;
25239
  return (t[1] | 0) * 3600 + (t[2] | 0) * 60 + (t[3] | 0) + i / e.frameRate;
25240
  }
25241
+ function x1(r, e) {
25242
  const t = Sg.exec(r), i = Number(t[1]);
25243
  switch (t[2]) {
25244
  case "h":
 
25268
  this.cueRanges = [], this.startTime = null;
25269
  }
25270
  }
25271
+ class L1 {
25272
  constructor(e) {
25273
  this.hls = void 0, this.media = null, this.config = void 0, this.enabled = !0, this.Cues = void 0, this.textTracks = [], this.tracks = [], this.initPTS = [], this.unparsedVttFrags = [], this.captionsTracks = {}, this.nonNativeCaptionsTracks = {}, this.cea608Parser1 = void 0, this.cea608Parser2 = void 0, this.lastCc = -1, this.lastSn = -1, this.lastPartIndex = -1, this.prevCC = -1, this.vttCCs = Hc(), this.captionsProperties = void 0, this.hls = e, this.config = e.config, this.Cues = e.config.cueHandler, this.captionsProperties = {
25274
  textTrack1: {
 
25302
  addCues(e, t, i, n, s) {
25303
  let a = !1;
25304
  for (let o = s.length; o--; ) {
25305
+ const l = s[o], u = C1(l[0], l[1], t, i);
25306
  if (u >= 0 && (l[0] = Math.min(l[0], t), l[1] = Math.max(l[1], i), a = !0, u / (i - t) > 0.5))
25307
  return;
25308
  }
 
25551
  return;
25552
  }
25553
  const l = this.hls, u = (t = i.initSegment) != null && t.data ? Ut(i.initSegment.data, new Uint8Array(n)).buffer : n;
25554
+ b1(u, this.initPTS[i.cc], this.vttCCs, i.cc, i.start, (c) => {
25555
  this._appendCues(c, i.level), l.trigger(E.SUBTITLE_FRAG_PROCESSED, {
25556
  success: !0,
25557
  frag: i
 
25663
  function Kc(r, e) {
25664
  return !!r && r.kind === Tg(e) && _o(e, r);
25665
  }
25666
+ function C1(r, e, t, i) {
25667
  return Math.min(e, i) - Math.max(r, t);
25668
  }
25669
  function Hc() {
 
25677
  }
25678
  };
25679
  }
25680
+ const k1 = /\s/, R1 = {
25681
  newCue(r, e, t, i) {
25682
  const n = [];
25683
  let s, a, o, l, u;
 
25686
  if (s = i.rows[h], o = !0, l = 0, u = "", !s.isEmpty()) {
25687
  var d;
25688
  for (let m = 0; m < s.chars.length; m++)
25689
+ k1.test(s.chars[m].uchar) && o ? l++ : (u += s.chars[m].uchar, o = !1);
25690
  s.cueStartTime = e, e === t && (t += 1e-4), l >= 16 ? l-- : l++;
25691
  const f = vg(u.trim()), g = yl(e, t, f);
25692
  r != null && (d = r.cues) != null && d.getCueById(g) || (a = new c(e, t, f), a.id = g, a.line = h + 1, a.align = "left", a.position = 10 + Math.min(80, Math.floor(l * 8 / 32) * 10), n.push(a));
 
25694
  return r && n.length && (n.sort((h, f) => h.line === "auto" || f.line === "auto" ? 0 : h.line > 8 && f.line > 8 ? f.line - h.line : h.line - f.line), n.forEach((h) => fg(r, h))), n;
25695
  }
25696
  };
25697
+ function w1() {
25698
  if (
25699
  // @ts-ignore
25700
  self.fetch && self.AbortController && self.ReadableStream && self.Request
 
25705
  }
25706
  return !1;
25707
  }
25708
+ const F1 = /(\d+)-(\d+)\/(\d+)/;
25709
  class qc {
25710
  constructor(e) {
25711
+ this.fetchSetup = void 0, this.requestTimeout = void 0, this.request = null, this.response = null, this.controller = void 0, this.context = null, this.config = null, this.callbacks = null, this.stats = void 0, this.loader = null, this.fetchSetup = e.fetchSetup || M1, this.controller = new self.AbortController(), this.stats = new Xo();
25712
  }
25713
  destroy() {
25714
  this.loader = this.callbacks = this.context = this.config = this.request = null, this.abortInternal(), this.response = null, this.fetchSetup = this.controller = this.stats = null;
 
25725
  if (n.loading.start)
25726
  throw new Error("Loader can only be used once.");
25727
  n.loading.start = self.performance.now();
25728
+ const s = P1(e, this.controller.signal), a = e.responseType === "arraybuffer", o = a ? "byteLength" : "length", {
25729
  maxTimeToFirstByteMs: l,
25730
  maxLoadTimeMs: u
25731
  } = t.loadPolicy;
 
25742
  status: m,
25743
  statusText: p
25744
  } = d;
25745
+ throw new B1(p || "fetch, bad network response", m, d);
25746
  }
25747
+ n.loading.first = f, n.total = $1(d.headers) || n.total;
25748
  const g = (h = this.callbacks) == null ? void 0 : h.onProgress;
25749
  return g && H(t.highWaterMark) ? this.loadProgressively(d, n, e, t.highWaterMark, g) : a ? d.arrayBuffer() : e.responseType === "json" ? d.json() : d.text();
25750
  }).then((d) => {
 
25793
  return l();
25794
  }
25795
  }
25796
+ function P1(r, e) {
25797
  const t = {
25798
  method: "GET",
25799
  mode: "cors",
 
25803
  };
25804
  return r.rangeEnd && t.headers.set("Range", "bytes=" + r.rangeStart + "-" + String(r.rangeEnd - 1)), t;
25805
  }
25806
+ function O1(r) {
25807
+ const e = F1.exec(r);
25808
  if (e)
25809
  return parseInt(e[2]) - parseInt(e[1]) + 1;
25810
  }
25811
+ function $1(r) {
25812
  const e = r.get("Content-Range");
25813
  if (e) {
25814
+ const i = O1(e);
25815
  if (H(i))
25816
  return i;
25817
  }
 
25819
  if (t)
25820
  return parseInt(t);
25821
  }
25822
+ function M1(r, e) {
25823
  return new self.Request(r.url, e);
25824
  }
25825
+ class B1 extends Error {
25826
  constructor(e, t, i) {
25827
  super(e), this.code = void 0, this.details = void 0, this.code = t, this.details = i;
25828
  }
25829
  }
25830
+ const N1 = /^age:\s*[\d.]+\s*$/im;
25831
  class Ag {
25832
  constructor(e) {
25833
  this.xhrSetup = void 0, this.requestTimeout = void 0, this.retryTimeout = void 0, this.retryDelay = void 0, this.config = null, this.callbacks = null, this.context = null, this.loader = null, this.stats = void 0, this.xhrSetup = e && e.xhrSetup || null, this.stats = new Xo(), this.retryDelay = 0;
 
25956
  }
25957
  getCacheAge() {
25958
  let e = null;
25959
+ if (this.loader && N1.test(this.loader.getAllResponseHeaders())) {
25960
  const t = this.loader.getResponseHeader("age");
25961
  e = t ? parseFloat(t) : null;
25962
  }
 
25966
  return this.loader && new RegExp(`^${e}:\\s*[\\d.]+\\s*$`, "im").test(this.loader.getAllResponseHeaders()) ? this.loader.getResponseHeader(e) : null;
25967
  }
25968
  }
25969
+ const U1 = {
25970
  maxTimeToFirstByteMs: 8e3,
25971
  maxLoadTimeMs: 2e4,
25972
  timeoutRetry: null,
25973
  errorRetry: null
25974
+ }, G1 = me(me({
25975
  autoStartLoad: !0,
25976
  // used by stream-controller
25977
  startPosition: -1,
 
26127
  useMediaCapabilities: !0,
26128
  preserveManualLevelOnError: !1,
26129
  certLoadPolicy: {
26130
+ default: U1
26131
  },
26132
  keyLoadPolicy: {
26133
  default: {
 
26241
  fragLoadingMaxRetry: 6,
26242
  fragLoadingRetryDelay: 1e3,
26243
  fragLoadingMaxRetryTimeout: 64e3
26244
+ }, V1()), {}, {
26245
+ subtitleStreamController: i1,
26246
  subtitleTrackController: WS,
26247
+ timelineController: L1,
26248
  audioStreamController: NE,
26249
  audioTrackController: UE,
26250
  emeController: An,
26251
  cmcdController: US,
26252
  contentSteeringController: VS,
26253
+ interstitialsController: t1
26254
  });
26255
+ function V1() {
26256
  return {
26257
+ cueHandler: R1,
26258
  // used by timeline-controller
26259
  enableWebVTT: !0,
26260
  // used by timeline-controller
 
26281
  renderTextTracksNatively: !0
26282
  };
26283
  }
26284
+ function K1(r, e, t) {
26285
  if ((e.liveSyncDurationCount || e.liveMaxLatencyDurationCount) && (e.liveSyncDuration || e.liveMaxLatencyDuration))
26286
  throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");
26287
  if (e.liveMaxLatencyDurationCount !== void 0 && (e.liveSyncDurationCount === void 0 || e.liveMaxLatencyDurationCount <= e.liveSyncDurationCount))
 
26319
  function To(r) {
26320
  return r && typeof r == "object" ? Array.isArray(r) ? r.map(To) : Object.keys(r).reduce((e, t) => (e[t] = To(r[t]), e), {}) : r;
26321
  }
26322
+ function H1(r, e) {
26323
  const t = r.loader;
26324
+ t !== qc && t !== Ag ? (e.log("[config]: Custom loader detected, cannot enable progressive streaming"), r.progressive = !1) : w1() && (r.loader = qc, r.progressive = !0, r.enableSoftwareAES = !0, e.log("[config]: Progressive streaming enabled, using FetchLoader"));
26325
  }
26326
+ const ar = 2, q1 = 0.1, z1 = 0.05, W1 = 100;
26327
+ class j1 extends _f {
26328
  constructor(e, t) {
26329
  super("gap-controller", e.logger), this.hls = void 0, this.fragmentTracker = void 0, this.media = null, this.mediaSource = void 0, this.nudgeRetry = 0, this.stallReported = !1, this.stalled = null, this.moved = !1, this.seeking = !1, this.buffered = {}, this.lastCurrentTime = 0, this.ended = 0, this.waiting = 0, this.onMediaPlaying = () => {
26330
  this.ended = 0, this.waiting = 0;
 
26356
  super.destroy(), this.unregisterListeners(), this.media = this.hls = this.fragmentTracker = null, this.mediaSource = void 0;
26357
  }
26358
  onMediaAttached(e, t) {
26359
+ this.setInterval(W1), this.mediaSource = t.mediaSource;
26360
  const i = this.media = t.media;
26361
  ut(i, "playing", this.onMediaPlaying), ut(i, "waiting", this.onMediaWaiting), ut(i, "ended", this.onMediaEnded);
26362
  }
 
26594
  return 0;
26595
  }
26596
  }
26597
+ const f = Math.max(l + z1, a + q1);
26598
  if (this.warn(`skipping hole, adjusting currentTime from ${a} to ${f}`), this.moved = !0, n.currentTime = f, !(e != null && e.gap)) {
26599
  const g = new Error(`fragment loaded with buffer holes, seeking from ${a} to ${f}`), m = {
26600
  type: j.MEDIA_ERROR,
 
26670
  function Bs(r, e) {
26671
  return e.getAppendedFrag(r, z.MAIN) || e.getPartialFragment(r);
26672
  }
26673
+ const Y1 = 0.25;
26674
  function Ao() {
26675
  if (!(typeof self > "u"))
26676
  return self.VTTCue || self.TextTrackCue;
 
26695
  }
26696
  return Number.POSITIVE_INFINITY;
26697
  })();
26698
+ class X1 {
26699
  constructor(e) {
26700
  this.hls = void 0, this.id3Track = null, this.media = null, this.dateRangeCuesAppended = {}, this.removeCues = !0, this.assetCue = void 0, this.onEventCueEnter = () => {
26701
  this.hls && this.hls.trigger(E.EVENT_CUE_ENTER, {});
 
26767
  continue;
26768
  const u = Uf(s[o].data), c = s[o].pts;
26769
  let d = c + s[o].duration;
26770
+ d > Ns && (d = Ns), d - c <= 0 && (d = c + Y1);
26771
  for (let f = 0; f < u.length; f++) {
26772
  const g = u[f];
26773
  if (!Gf(g)) {
 
26918
  }
26919
  }
26920
  }
26921
+ class Q1 {
26922
  constructor(e) {
26923
  this.hls = void 0, this.config = void 0, this.media = null, this.currentTime = 0, this.stallCount = 0, this._latency = null, this._targetLatencyUpdated = !1, this.onTimeupdate = () => {
26924
  const {
 
27060
  return e === null ? null : e - this.currentTime;
27061
  }
27062
  }
27063
+ class Z1 extends fl {
27064
  constructor(e, t) {
27065
  super(e, "level-controller"), this._levels = [], this._firstLevel = -1, this._maxAutoLevel = -1, this._startLevel = void 0, this.currentLevel = null, this.currentLevelIndex = -1, this.manualLevelIndex = -1, this.steering = void 0, this.onParsedComplete = void 0, this.steering = t, this._registerListeners();
27066
  }
 
27431
  const e = Dg();
27432
  return !e || e.prototype && typeof e.prototype.appendBuffer == "function" && typeof e.prototype.remove == "function";
27433
  }
27434
+ function J1() {
27435
  if (!Ig())
27436
  return !1;
27437
  const r = Pi();
27438
  return typeof (r == null ? void 0 : r.isTypeSupported) == "function" && (["avc1.42E01E,mp4a.40.2", "av01.0.01M.08", "vp09.00.50.08"].some((e) => r.isTypeSupported(Jn(e, "video"))) || ["mp4a.40.2", "fLaC"].some((e) => r.isTypeSupported(Jn(e, "audio"))));
27439
  }
27440
+ function eb() {
27441
  var r;
27442
  const e = Dg();
27443
  return typeof (e == null || (r = e.prototype) == null ? void 0 : r.changeType) == "function";
27444
  }
27445
+ const tb = 100;
27446
+ class ib extends rl {
27447
  constructor(e, t, i) {
27448
  super(e, t, i, "stream-controller", z.MAIN), this.audioCodecSwap = !1, this.level = -1, this._forceStartLoad = !1, this._hasEnoughToStart = !1, this.altAudio = 0, this.audioOnly = !1, this.fragPlaying = null, this.fragLastKbps = 0, this.couldBacktrack = !1, this.backtrackFragment = null, this.audioCodecSwitch = !1, this.videoBuffer = null, this.onMediaPlaying = () => {
27449
  this.tick();
 
27482
  lastCurrentTime: i,
27483
  hls: n
27484
  } = this;
27485
+ if (this.stopLoad(), this.setInterval(tb), this.level = -1, !this.startFragRequested) {
27486
  let s = n.startLevel;
27487
  s === -1 && (n.config.testBandwidth && this.levels.length > 1 ? (s = 0, this.bitrateTest = !0) : s = n.firstAutoLevel), n.nextLoadLevel = s, this.level = n.loadLevel, this._hasEnoughToStart = !!t;
27488
  }
 
27662
  const a = t.levels[s].audioCodec;
27663
  a && (i = i || a.indexOf("mp4a.40.2") !== -1, n = n || a.indexOf("mp4a.40.5") !== -1);
27664
  }
27665
+ this.audioCodecSwitch = i && n && !eb(), this.audioCodecSwitch && this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"), this.levels = t.levels, this.startFragRequested = !1;
27666
  }
27667
  onLevelLoading(e, t) {
27668
  const {
 
28167
  return this._forceStartLoad;
28168
  }
28169
  }
28170
+ class nb extends Vt {
28171
  constructor(e, t) {
28172
  super("key-loader", t), this.config = void 0, this.keyIdToKeyInfo = {}, this.emeController = null, this.config = e;
28173
  }
 
28383
  let t = r.url;
28384
  return (t === void 0 || t.indexOf("data:") === 0) && (t = e.url), t;
28385
  }
28386
+ class sb {
28387
  constructor(e) {
28388
  this.hls = void 0, this.loaders = /* @__PURE__ */ Object.create(null), this.variableList = null, this.onManifestLoaded = this.checkAutostartLoad, this.hls = e, this.registerListeners();
28389
  }
 
28833
  * Check if MediaSource Extensions are available and isTypeSupported checks pass for any baseline codecs.
28834
  */
28835
  static isSupported() {
28836
+ return J1();
28837
  }
28838
  /**
28839
  * Get the MediaSource global used for MSE playback (ManagedMediaSource, MediaSource, or WebKitMediaSource).
 
28857
  * Get the default configuration applied to new instances.
28858
  */
28859
  static get DefaultConfig() {
28860
+ return kt.defaultConfig ? kt.defaultConfig : G1;
28861
  }
28862
  /**
28863
  * Replace the default configuration applied to new instances.
 
28871
  */
28872
  constructor(e = {}) {
28873
  this.config = void 0, this.userConfig = void 0, this.logger = void 0, this.coreComponents = void 0, this.networkControllers = void 0, this._emitter = new al(), this._autoLevelCapping = -1, this._maxHdcpLevel = null, this.abrController = void 0, this.bufferController = void 0, this.capLevelController = void 0, this.latencyController = void 0, this.levelController = void 0, this.streamController = void 0, this.audioStreamController = void 0, this.subtititleStreamController = void 0, this.audioTrackController = void 0, this.subtitleTrackController = void 0, this.interstitialsController = void 0, this.gapController = void 0, this.emeController = void 0, this.cmcdController = void 0, this._media = null, this._url = null, this._sessionId = void 0, this.triggeringException = void 0, this.started = !1;
28874
+ const t = this.logger = cy(e.debug || !1, "Hls instance", e.assetPlayerId), i = this.config = K1(kt.DefaultConfig, e, t);
28875
+ this.userConfig = e, i.progressive && H1(i, t);
28876
  const {
28877
  abrController: n,
28878
  bufferController: s,
28879
  capLevelController: a,
28880
  errorController: o,
28881
  fpsController: l
28882
+ } = i, u = new o(this), c = this.abrController = new n(this), d = new rv(this), h = i.interstitialsController, f = h ? this.interstitialsController = new h(this, kt) : null, g = this.bufferController = new s(this, d), m = this.capLevelController = new a(this), p = new l(this), v = new sb(this), y = i.contentSteeringController, _ = y ? new y(this) : null, S = this.levelController = new Z1(this, _), b = new X1(this), I = new nb(this.config, this.logger), T = this.streamController = new ib(this, d, I), A = this.gapController = new j1(this, d);
28883
  m.setStreamController(T), p.setStreamController(T);
28884
  const D = [v, S, T];
28885
  f && D.splice(1, 0, f), _ && D.splice(1, 0, _), this.networkControllers = D;
 
28888
  const F = i.audioStreamController;
28889
  F && D.push(this.audioStreamController = new F(this, d, I)), this.subtitleTrackController = this.createController(i.subtitleTrackController, D);
28890
  const L = i.subtitleStreamController;
28891
+ L && D.push(this.subtititleStreamController = new L(this, d, I)), this.createController(i.timelineController, x), I.emeController = this.emeController = this.createController(i.emeController, x), this.cmcdController = this.createController(i.cmcdController, x), this.latencyController = this.createController(Q1, x), this.coreComponents = x, D.push(u);
28892
  const B = u.onErrorOut;
28893
  typeof B == "function" && this.on(E.ERROR, B, u), this.on(E.MANIFEST_LOADED, v.onManifestLoaded, v);
28894
  }
 
29524
  }
29525
  kt.defaultConfig = void 0;
29526
  const {
29527
+ SvelteComponent: rb,
29528
+ action_destroyer: ab,
29529
+ add_render_callback: ob,
29530
  assign: Xc,
29531
  attr: ki,
29532
+ binding_callbacks: lb,
29533
  bubble: Va,
29534
+ children: ub,
29535
  claim_element: Qc,
29536
+ claim_space: cb,
29537
+ create_slot: db,
29538
  detach: Us,
29539
  element: Zc,
29540
  exclude_internal_props: Jc,
29541
+ get_all_dirty_from_scope: hb,
29542
+ get_slot_changes: fb,
29543
+ get_svelte_dataset: gb,
29544
+ init: mb,
29545
  insert_hydration: Ka,
29546
+ is_function: pb,
29547
  listen: We,
29548
+ raf: _b,
29549
+ run_all: yb,
29550
+ safe_not_equal: vb,
29551
+ space: Eb,
29552
  src_url_equal: ed,
29553
  toggle_class: td,
29554
+ transition_in: Sb,
29555
+ transition_out: bb,
29556
+ update_slot_base: Tb
29557
+ } = window.__gradio__svelte__internal, { createEventDispatcher: Ab } = window.__gradio__svelte__internal;
29558
+ function Db(r) {
29559
  let e, t = '<span class="load-wrap svelte-1pwzuub"><span class="loader svelte-1pwzuub"></span></span>', i, n, s, a, o = !1, l, u = !0, c, d, h, f;
29560
  const g = (
29561
  /*#slots*/
29562
  r[16].default
29563
+ ), m = db(
29564
  g,
29565
  r,
29566
  /*$$scope*/
 
29568
  null
29569
  );
29570
  function p() {
29571
+ cancelAnimationFrame(l), n.paused || (l = _b(p), o = !0), r[20].call(n);
29572
  }
29573
  return {
29574
  c() {
29575
+ e = Zc("div"), e.innerHTML = t, i = Eb(), n = Zc("video"), m && m.c(), this.h();
29576
  },
29577
  l(v) {
29578
+ e = Qc(v, "DIV", { class: !0, "data-svelte-h": !0 }), gb(e) !== "svelte-mez4j5" && (e.innerHTML = t), i = cb(v), n = Qc(v, "VIDEO", {
29579
  src: !0,
29580
  preload: !0,
29581
  "data-testid": !0,
29582
  crossorigin: !0
29583
  });
29584
+ var y = ub(n);
29585
  m && m.l(y), y.forEach(Us), this.h();
29586
  },
29587
  h() {
 
29599
  r[9], n.loop = /*loop*/
29600
  r[10], ki(n, "data-testid", a = /*$$props*/
29601
  r[13]["data-testid"]), ki(n, "crossorigin", "anonymous"), /*duration*/
29602
+ r[2] === void 0 && ob(() => (
29603
  /*video_durationchange_handler*/
29604
  r[21].call(n)
29605
  ));
 
29703
  /*video_play_pause_handler*/
29704
  r[22]
29705
  ),
29706
+ ab(c = ty.call(null, n, { autoplay: (
29707
  /*autoplay*/
29708
  r[8] ?? !1
29709
  ) }))
 
29713
  (!d || y & /*processingVideo*/
29714
  2048) && td(e, "hidden", !/*processingVideo*/
29715
  v[11]), m && m.p && (!d || y & /*$$scope*/
29716
+ 32768) && Tb(
29717
  m,
29718
  g,
29719
  v,
29720
  /*$$scope*/
29721
  v[15],
29722
+ d ? fb(
29723
  g,
29724
  /*$$scope*/
29725
  v[15],
29726
  y,
29727
  null
29728
+ ) : hb(
29729
  /*$$scope*/
29730
  v[15]
29731
  ),
 
29757
  ) && (n.currentTime = /*currentTime*/
29758
  v[1]), o = !1, y & /*paused*/
29759
  8 && u !== (u = /*paused*/
29760
+ v[3]) && n[u ? "pause" : "play"](), c && pb(c.update) && y & /*autoplay*/
29761
  256 && c.update.call(null, { autoplay: (
29762
  /*autoplay*/
29763
  v[8] ?? !1
29764
  ) });
29765
  },
29766
  i(v) {
29767
+ d || (Sb(m, v), d = !0);
29768
  },
29769
  o(v) {
29770
+ bb(m, v), d = !1;
29771
  },
29772
  d(v) {
29773
+ v && (Us(e), Us(i), Us(n)), m && m.d(v), r[23](null), h = !1, yb(f);
29774
  }
29775
  };
29776
  }
29777
+ function Ib(r, e, t) {
29778
  let { $$slots: i = {}, $$scope: n } = e, { src: s = void 0 } = e, { muted: a = void 0 } = e, { playsinline: o = void 0 } = e, { preload: l = void 0 } = e, { autoplay: u = void 0 } = e, { controls: c = void 0 } = e, { currentTime: d = void 0 } = e, { duration: h = void 0 } = e, { paused: f = void 0 } = e, { node: g = void 0 } = e, { loop: m } = e, { is_stream: p } = e, { processingVideo: v = !1 } = e, y = !1;
29779
+ const _ = Ab();
29780
  function S(L, B, G) {
29781
  if (!(!L || !B) && kt.isSupported() && !y) {
29782
  const N = new kt({
 
29824
  f = this.paused, t(3, f);
29825
  }
29826
  function F(L) {
29827
+ lb[L ? "unshift" : "push"](() => {
29828
  g = L, t(0, g);
29829
  });
29830
  }
 
29861
  F
29862
  ];
29863
  }
29864
+ class Gr extends rb {
29865
  constructor(e) {
29866
+ super(), mb(this, e, Ib, Db, vb, {
29867
  src: 4,
29868
  muted: 5,
29869
  playsinline: 6,
 
29966
  }
29967
  bi = new WeakMap();
29968
  var Vr = typeof self < "u" ? self : global;
29969
+ const rs = typeof navigator < "u", xb = rs && typeof HTMLImageElement > "u", Ir = !(typeof global > "u" || typeof process > "u" || !process.versions || !process.versions.node), vl = Vr.Buffer, Gs = Vr.BigInt, El = !!vl, Lb = (r) => r;
29970
+ function xr(r, e = Lb) {
29971
  if (Ir) try {
29972
  return typeof require == "function" ? Promise.resolve(e(require(r))) : import(
29973
  /* webpackIgnore: true */
 
29978
  }
29979
  }
29980
  let Sl = Vr.fetch;
29981
+ const Cb = (r) => Sl = r;
29982
  if (!Vr.fetch) {
29983
  const r = xr("http", (i) => i), e = xr("https", (i) => i), t = (i, { headers: n } = {}) => new Promise(async (s, a) => {
29984
  let { port: o, hostname: l, pathname: u, protocol: c, search: d } = new URL(i);
 
29996
  });
29997
  f.on("error", a), f.end();
29998
  });
29999
+ Cb(t);
30000
  }
30001
  function ie(r, e, t) {
30002
  return e in r ? Object.defineProperty(r, e, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : r[e] = t, r;
30003
  }
30004
+ const Lr = (r) => xg(r) ? void 0 : r, kb = (r) => r !== void 0;
30005
  function xg(r) {
30006
+ return r === void 0 || (r instanceof Map ? r.size === 0 : Object.values(r).filter(kb).length === 0);
30007
  }
30008
  function Oe(r) {
30009
  let e = new Error(r);
 
30158
  }
30159
  }
30160
  var kn = new bl("file parser"), it = new bl("segment parser"), Fn = new bl("file reader");
30161
+ function Rb(r, e) {
30162
+ return typeof r == "string" ? rd(r, e) : rs && !xb && r instanceof HTMLImageElement ? rd(r.src, e) : r instanceof Uint8Array || r instanceof ArrayBuffer || r instanceof DataView ? new pt(r) : rs && r instanceof Blob ? Lo(r, e, "blob", Ro) : void Oe("Invalid input argument");
30163
  }
30164
  function rd(r, e) {
30165
  return (t = r).startsWith("data:") || t.length > 1e4 ? Co(r, e, "base64") : Ir && r.includes("://") ? Lo(r, e, "url", ko) : Ir ? Co(r, e, "fs") : rs ? Lo(r, e, "url", ko) : void Oe("Invalid input argument");
 
30179
  let i = new FileReader();
30180
  i.onloadend = () => e(i.result || new ArrayBuffer()), i.onerror = t, i.readAsArrayBuffer(r);
30181
  });
30182
+ class wb extends Map {
30183
  get tagKeys() {
30184
  return this.allKeys || (this.allKeys = Array.from(this.keys())), this.allKeys;
30185
  }
 
30188
  }
30189
  }
30190
  function Xe(r, e, t) {
30191
+ let i = new wb();
30192
  for (let [n, s] of t) i.set(n, s);
30193
  if (Array.isArray(e)) for (let n of e) r.set(n, i);
30194
  else r.set(e, i);
 
30322
  for (let t of e) r.add(t);
30323
  }
30324
  ie(Tl, "default", st);
30325
+ class Fb {
30326
  constructor(e) {
30327
  ie(this, "parsers", {}), ie(this, "output", {}), ie(this, "errors", []), ie(this, "pushToErrors", (t) => this.errors.push(t)), this.options = Tl.useCached(e);
30328
  }
30329
  async read(e) {
30330
+ this.file = await Rb(e, this.options);
30331
  }
30332
  setup() {
30333
  if (this.fileParser) return;
 
30357
  return t.close && t.close(), o;
30358
  }
30359
  }
30360
+ async function Pb(r, e) {
30361
+ let t = new Fb(e);
30362
  return await t.read(r), t.parse();
30363
  }
30364
  class Kr {
 
30436
  }
30437
  }
30438
  ie(Qt, "headerLength", 4), ie(Qt, "type", void 0), ie(Qt, "multiSegment", !1), ie(Qt, "canHandle", () => !1);
30439
+ function Ob(r) {
30440
  return r === 192 || r === 194 || r === 196 || r === 219 || r === 221 || r === 218 || r === 254;
30441
  }
30442
+ function $b(r) {
30443
  return r >= 224 && r <= 239;
30444
  }
30445
+ function Mb(r, e, t) {
30446
  for (let [i, n] of it) if (n.canHandle(r, e, t)) return i;
30447
  }
30448
  class ld extends Kr {
 
30476
  t -= 2;
30477
  let i, n, s, a, o, l, { file: u, findAll: c, wanted: d, remaining: h, options: f } = this;
30478
  for (; e < t; e++) if (u.getUint8(e) === 255) {
30479
+ if (i = u.getUint8(e + 1), $b(i)) {
30480
+ if (n = u.getUint16(e + 2), s = Mb(u, e, n), s && d.has(s) && (a = it.get(s), o = a.findPosition(u, e), l = f[s], o.type = s, this.appSegments.push(o), !c && (a.multiSegment && l.multiSegment ? (this.unfinishedMultiSegment = o.chunkNumber < o.chunkCount, this.unfinishedMultiSegment || h.delete(s)) : h.delete(s), h.size === 0))) break;
30481
  f.recordUnknownSegments && (o = Qt.findPosition(u, e), o.marker = i, this.unknownSegments.push(o)), e += n + 1;
30482
+ } else if (Ob(i)) {
30483
  if (n = u.getUint16(e + 2), i === 218 && f.stopAfterSos !== !1) return;
30484
  f.recordJpegSegments && this.jpegSegments.push({ offset: e, length: n, marker: i }), e += n + 1;
30485
  }
 
30507
  }
30508
  }
30509
  ie(ld, "type", "jpeg"), kn.set("jpeg", ld);
30510
+ const Bb = [void 0, 1, 1, 2, 4, 8, 1, 1, 2, 4, 8, 4, 8, 4];
30511
+ class Nb extends Qt {
30512
  parseHeader() {
30513
  var e = this.chunk.getUint16();
30514
  e === 18761 ? this.le = !0 : e === 19789 && (this.le = !1), this.chunk.le = this.le, this.headerParsed = !0;
 
30528
  return i;
30529
  }
30530
  parseTag(e, t, i) {
30531
+ let { chunk: n } = this, s = n.getUint16(e + 2), a = n.getUint32(e + 4), o = Bb[s];
30532
  if (o * a <= 4 ? e += 8 : e = n.getUint32(e + 8), (s < 1 || s > 13) && Oe(`Invalid TIFF value type. block: ${i.toUpperCase()}, tag: ${t.toString(16)}, type: ${s}, offset ${e}`), e > n.byteLength && Oe(`Invalid TIFF value offset. block: ${i.toUpperCase()}, tag: ${t.toString(16)}, type: ${s}, offset ${e} is outside of chunk size ${n.byteLength}`), s === 1) return n.getUint8Array(e, a);
30533
  if (s === 2) return Hi(n.getString(e, a));
30534
  if (s === 7) return n.getUint8Array(e, a);
 
30594
  }
30595
  }
30596
  }
30597
+ class qa extends Nb {
30598
  static canHandle(e, t) {
30599
  return e.getUint8(t + 1) === 225 && e.getUint32(t + 4) === 1165519206 && e.getUint16(t + 8) === 0;
30600
  }
 
30699
  let [, e] = r.match(/Firefox\/(\d+)/);
30700
  }
30701
  }
30702
+ class Ub extends pt {
30703
  constructor(...e) {
30704
+ super(...e), ie(this, "ranges", new Gb()), this.byteLength !== 0 && this.ranges.add(0, this.byteLength);
30705
  }
30706
  _tryExtend(e, t, i) {
30707
  if (e === 0 && this.byteLength === 0 && i) {
 
30736
  return this.ranges.available(e, t);
30737
  }
30738
  }
30739
+ class Gb {
30740
  constructor() {
30741
  ie(this, "list", []);
30742
  }
 
30759
  function cd(r, e, t) {
30760
  return r <= e && e <= t;
30761
  }
30762
+ class Hr extends Ub {
30763
  constructor(e, t) {
30764
  super(0), ie(this, "chunksRead", 0), this.input = e, this.options = t;
30765
  }
 
30826
  let e = this.getUint32(r), t = this.getUint32(r + 4);
30827
  return e < 1048575 ? e << 32 | t : typeof Gs !== void 0 ? (console.warn("Using BigInt because of type 64uint but JS can only handle 53b numbers."), Gs(e) << Gs(32) | Gs(t)) : void Oe("Trying to read 64b value but JS can only handle 53b numbers.");
30828
  };
30829
+ class Vb extends Kr {
30830
  parseBoxes(e = 0) {
30831
  let t = [];
30832
  for (; e < this.file.byteLength - 4; ) {
 
30852
  e.version = t >> 24, e.start += 4;
30853
  }
30854
  }
30855
+ class wg extends Vb {
30856
  static canHandle(e, t) {
30857
  if (t !== 0) return !1;
30858
  let i = e.getUint16(2);
 
30974
  e = function(s) {
30975
  let a = {}, o = {};
30976
  for (let l of Mg) a[l] = [], o[l] = 0;
30977
+ return s.replace(zb, (l, u, c) => {
30978
  if (u === "<") {
30979
  let d = ++o[c];
30980
  return a[c].push(d), `${l}#${d}`;
 
30985
  let t = In.findAll(e, "rdf", "Description");
30986
  t.length === 0 && t.push(new In("rdf", "Description", void 0, e));
30987
  let i, n = {};
30988
+ for (let s of t) for (let a of s.properties) i = qb(a.ns, n), Pg(a, i);
30989
  return function(s) {
30990
  let a;
30991
  for (let o in s) a = s[o] = Lr(s[o]), a === void 0 && delete s[o];
 
31056
  if (this.properties.length === 0 && this.value === void 0) return;
31057
  if (this.isPrimitive) return this.value;
31058
  if (this.isListContainer) return this.children[0].serialize();
31059
+ if (this.isList) return Hb(this.children.map(Kb));
31060
  if (this.isListItem && this.children.length === 1 && this.attrs.length === 0) return this.children[0].serialize();
31061
  let e = {};
31062
  for (let t of this.properties) Pg(t, e);
 
31067
  let t = r.serialize();
31068
  t !== void 0 && (e[r.name] = t);
31069
  }
31070
+ var Kb = (r) => r.serialize(), Hb = (r) => r.length === 1 ? r[0] : r, qb = (r, e) => e[r] ? e[r] : e[r] = {};
31071
  function Og(r, e) {
31072
  let t, i = [];
31073
  if (!r) return i;
 
31083
  let t = r.toLowerCase();
31084
  return t === "true" || t !== "false" && r.trim();
31085
  }
31086
+ const Mg = ["rdf:li", "rdf:Seq", "rdf:Bag", "rdf:Alt", "rdf:Description"], zb = new RegExp(`(<|\\/)(${Mg.join("|")})`, "g");
31087
  let pd = xr("fs", (r) => r.promises);
31088
  Fn.set("fs", class extends Hr {
31089
  async readWhole() {
 
31153
  }
31154
  };
31155
  ie(_d, "type", "tiff"), kn.set("tiff", _d);
31156
+ let Wb = xr("zlib");
31157
+ const jb = ["ihdr", "iccp", "text", "itxt", "exif"];
31158
  class yd extends Kr {
31159
  constructor(...e) {
31160
  super(...e), ie(this, "catchError", (t) => this.errors.push(t)), ie(this, "metaChunks", []), ie(this, "unknownChunks", []);
 
31170
  let { file: i } = this;
31171
  for (; e < t; ) {
31172
  let n = i.getUint32(e), s = i.getUint32(e + 4), a = i.getString(e + 4, 4).toLowerCase(), o = n + 4 + 4 + 4, l = { type: a, offset: e, length: o, start: e + 4 + 4, size: n, marker: s };
31173
+ jb.includes(a) ? this.metaChunks.push(l) : this.unknownChunks.push(l), e += o;
31174
  }
31175
  }
31176
  parseTextChunks() {
 
31204
  for (; n < 80 && i[n] !== 0; ) n++;
31205
  let s = n + 2, a = t.getString(0, n);
31206
  if (this.injectKeyValToIhdr("ProfileName", a), Ir) {
31207
+ let o = await Wb, l = t.getUint8Array(s);
31208
  l = o.inflateSync(l), this.injectSegment("icc", l);
31209
  }
31210
  }
 
31259
  parseHeader() {
31260
  let { raw: e } = this;
31261
  this.chunk.byteLength < 84 && Oe("ICC header is too short");
31262
+ for (let [t, i] of Object.entries(Yb)) {
31263
  t = parseInt(t, 10);
31264
  let n = i(this.chunk, t);
31265
  n !== "\0\0\0\0" && e.set(t, n);
 
31308
  }
31309
  }
31310
  ie(lr, "type", "icc"), ie(lr, "multiSegment", !0), ie(lr, "headerLength", 18);
31311
+ const Yb = { 4: yi, 8: function(r, e) {
31312
  return [r.getUint8(e), r.getUint8(e + 1) >> 4, r.getUint8(e + 1) % 16].map((t) => t.toString(10)).join(".");
31313
  }, 12: yi, 16: yi, 20: yi, 24: function(r, e) {
31314
  const t = r.getUint16(e), i = r.getUint16(e + 2) - 1, n = r.getUint16(e + 4), s = r.getUint16(e + 6), a = r.getUint16(e + 8), o = r.getUint16(e + 10);
 
31348
  }
31349
  }
31350
  ie(Ws, "type", "iptc"), ie(Ws, "translateValues", !1), ie(Ws, "reviveValues", !1), it.set("iptc", Ws), Xe(Et, "iptc", [[0, "ApplicationRecordVersion"], [3, "ObjectTypeReference"], [4, "ObjectAttributeReference"], [5, "ObjectName"], [7, "EditStatus"], [8, "EditorialUpdate"], [10, "Urgency"], [12, "SubjectReference"], [15, "Category"], [20, "SupplementalCategories"], [22, "FixtureIdentifier"], [25, "Keywords"], [26, "ContentLocationCode"], [27, "ContentLocationName"], [30, "ReleaseDate"], [35, "ReleaseTime"], [37, "ExpirationDate"], [38, "ExpirationTime"], [40, "SpecialInstructions"], [42, "ActionAdvised"], [45, "ReferenceService"], [47, "ReferenceDate"], [50, "ReferenceNumber"], [55, "DateCreated"], [60, "TimeCreated"], [62, "DigitalCreationDate"], [63, "DigitalCreationTime"], [65, "OriginatingProgram"], [70, "ProgramVersion"], [75, "ObjectCycle"], [80, "Byline"], [85, "BylineTitle"], [90, "City"], [92, "Sublocation"], [95, "State"], [100, "CountryCode"], [101, "Country"], [103, "OriginalTransmissionReference"], [105, "Headline"], [110, "Credit"], [115, "Source"], [116, "CopyrightNotice"], [118, "Contact"], [120, "Caption"], [121, "LocalCaption"], [122, "Writer"], [125, "RasterizedCaption"], [130, "ImageType"], [131, "ImageOrientation"], [135, "LanguageIdentifier"], [150, "AudioType"], [151, "AudioSamplingRate"], [152, "AudioSamplingResolution"], [153, "AudioDuration"], [154, "AudioOutcue"], [184, "JobID"], [185, "MasterDocumentID"], [186, "ShortDocumentID"], [187, "UniqueDocumentID"], [188, "OwnerID"], [200, "ObjectPreviewFileFormat"], [201, "ObjectPreviewFileVersion"], [202, "ObjectPreviewData"], [221, "Prefs"], [225, "ClassifyState"], [228, "SimilarityIndex"], [230, "DocumentNotes"], [231, "DocumentHistory"], [232, "ExifCameraInfo"], [255, "CatalogSets"]]), Xe(rn, "iptc", [[10, { 0: "0 (reserved)", 1: "1 (most urgent)", 2: "2", 3: "3", 4: "4", 5: "5 (normal urgency)", 6: "6", 7: "7", 8: "8 (least urgent)", 9: "9 (user-defined priority)" }], [75, { a: "Morning", b: "Both Morning and Evening", p: "Evening" }], [131, { L: "Landscape", P: "Portrait", S: "Square" }]]);
31351
+ async function Xb(r) {
31352
  return r ? `<div style="display: flex; flex-wrap: wrap; gap: 16px">${(await Promise.all(
31353
  r.map(async ([t, i]) => t === null || !t.url ? "" : await Z0(t.url))
31354
  )).map((t) => `<img src="${t}" style="height: 400px" />`).join("")}</div>` : "";
31355
  }
31356
+ async function Qb(r, e) {
31357
  if (!(r != null && r.url))
31358
  return null;
31359
  const t = r.url.toLowerCase();
31360
  if (t.endsWith(".svg"))
31361
  return {};
31362
  try {
31363
+ const i = await Pb(r.url, !0);
31364
  if (!i)
31365
  return {};
31366
  if (t.endsWith(".png")) {
 
31390
  return console.error("Failed to extract or process metadata:", i), { error: "Failed to extract metadata" };
31391
  }
31392
  }
31393
+ const Zb = /* @__PURE__ */ new Set([
31394
  "ImageWidth",
31395
  "ImageHeight",
31396
  "BitsPerSample",
 
31511
  "ThumbnailOffset",
31512
  "ThumbnailLength"
31513
  ]), {
31514
+ SvelteComponent: Jb,
31515
  append_hydration: ue,
31516
  attr: ae,
31517
  binding_callbacks: js,
 
31661
  s && s.l(g), g.forEach(Q), f.forEach(Q), this.h();
31662
  },
31663
  h() {
31664
+ ae(i, "class", "grid-wrap svelte-15zxev2"), mt(
31665
  i,
31666
  "minimal",
31667
  /*mode*/
 
31681
  /*height*/
31682
  r[6] !== "auto" ? `${/*height*/
31683
  r[6]}px` : null
31684
+ ), ae(e, "class", "gallery-container svelte-15zxev2");
31685
  },
31686
  m(h, f) {
31687
  _e(h, e, f), o && o.m(e, null), ue(e, t), ue(e, i), ~n && u[n].m(i, null), r[57](e), a = !0;
 
31827
  x.forEach(Q), c = Le(A), b && b.l(A), A.forEach(Q), this.h();
31828
  },
31829
  h() {
31830
+ ae(n, "class", "media-container svelte-15zxev2"), ae(u, "class", "thumbnails scroll-hide svelte-15zxev2"), gt(
31831
  u,
31832
  "justify-content",
31833
  /*thumbnails_overflow*/
31834
  r[24] ? "flex-start" : "center"
31835
+ ), ae(e, "class", "preview svelte-15zxev2"), ae(e, "aria-label", "Image Preview"), ae(e, "tabindex", "-1"), mt(
31836
  e,
31837
  "minimal",
31838
  /*mode*/
 
32059
  /*value*/
32060
  r[4]
32061
  ),
32062
+ formatter: Xb
32063
  }
32064
  }), t.$on(
32065
  "share",
 
32294
  i = Qi(s, t), s.forEach(Q), this.h();
32295
  },
32296
  h() {
32297
+ ae(e, "class", "caption svelte-15zxev2");
32298
  },
32299
  m(n, s) {
32300
  _e(n, e, s), ue(e, i);
 
32436
  i.l(v), n = Le(v), v.forEach(Q), this.h();
32437
  },
32438
  h() {
32439
+ ae(e, "class", "thumbnail-item thumbnail-small svelte-15zxev2"), ae(e, "aria-label", s = "Thumbnail " + /*i*/
32440
  (r[66] + 1) + " of " + /*resolved_value*/
32441
  r[16].length), mt(
32442
  e,
 
32503
  i = he(v, "BUTTON", { class: !0, "data-svelte-h": !0 }), Rr(i) !== "svelte-1irq3m4" && (i.textContent = n), s = Le(v), a = he(v, "H3", { class: !0, "data-svelte-h": !0 }), Rr(a) !== "svelte-1tc7pig" && (a.textContent = o), l = Le(v), g.l(v), v.forEach(Q), p.forEach(Q), this.h();
32504
  },
32505
  h() {
32506
+ ae(i, "class", "close-button svelte-15zxev2"), ae(a, "class", "popup-title svelte-15zxev2"), ae(t, "class", "popup-content svelte-15zxev2"), ae(e, "class", "metadata-popup svelte-15zxev2"), ae(e, "role", "presentation"), gt(e, "width", typeof /*popup_metadata_width*/
32507
  r[15] == "number" ? `${/*popup_metadata_width*/
32508
  r[15]}px` : (
32509
  /*popup_metadata_width*/
 
32548
  e = he(i, "P", { class: !0, "data-svelte-h": !0 }), Rr(e) !== "svelte-1qb2m81" && (e.textContent = t), this.h();
32549
  },
32550
  h() {
32551
+ ae(e, "class", "no-metadata-message svelte-15zxev2");
32552
  },
32553
  m(i, n) {
32554
  _e(i, e, n);
 
32585
  g.forEach(Q), f.forEach(Q), h.forEach(Q), n = Le(d), s = he(d, "BUTTON", { class: !0, "data-svelte-h": !0 }), Rr(s) !== "svelte-o01tbk" && (s.textContent = a), this.h();
32586
  },
32587
  h() {
32588
+ ae(t, "class", "metadata-table svelte-15zxev2"), ae(e, "class", "metadata-table-container svelte-15zxev2"), ae(s, "class", "load-metadata-button svelte-15zxev2");
32589
  },
32590
  m(d, h) {
32591
  _e(d, e, h), ue(e, t), ue(t, i);
 
32642
  l = Qi(f, o), f.forEach(Q), u = Le(d), d.forEach(Q), this.h();
32643
  },
32644
  h() {
32645
+ ae(t, "class", "metadata-label svelte-15zxev2"), ae(a, "class", "metadata-value svelte-15zxev2");
32646
  },
32647
  m(c, d) {
32648
  _e(c, e, d), ue(e, t), ue(t, n), ue(e, s), ue(e, a), ue(a, l), ue(e, u);
 
32714
  a.l(b), o = Le(b), m && m.l(b), b.forEach(Q), S.forEach(Q), l = Le(_), p && p.l(_), _.forEach(Q), y.forEach(Q), this.h();
32715
  },
32716
  h() {
32717
+ ae(n, "class", "thumbnail-item thumbnail-lg svelte-15zxev2"), ae(n, "aria-label", "View single item in preview mode"), ae(i, "class", "gallery-item svelte-15zxev2"), ae(t, "class", "gallery-item-with-name svelte-15zxev2"), ae(e, "class", "single-item-wrapper svelte-15zxev2"), gt(
32718
  e,
32719
  "--object-fit",
32720
  /*object_fit*/
 
32779
  o.forEach(Q), this.h();
32780
  },
32781
  h() {
32782
+ ae(e, "class", "grid-container svelte-15zxev2"), mt(
32783
  e,
32784
  "pt-6",
32785
  /*show_label*/
 
32987
  i = Qi(s, t), s.forEach(Q), this.h();
32988
  },
32989
  h() {
32990
+ ae(e, "class", "caption-label svelte-15zxev2");
32991
  },
32992
  m(n, s) {
32993
  _e(n, e, s), ue(e, i);
 
33017
  i = Qi(a, t), a.forEach(Q), this.h();
33018
  },
33019
  h() {
33020
+ ae(e, "class", "thumbnail-filename svelte-15zxev2"), ae(e, "title", n = /*file_name*/
33021
  r[64]);
33022
  },
33023
  m(s, a) {
 
33139
  i = Qi(s, t), s.forEach(Q), this.h();
33140
  },
33141
  h() {
33142
+ ae(e, "class", "caption-label svelte-15zxev2");
33143
  },
33144
  m(n, s) {
33145
  _e(n, e, s), ue(e, i);
 
33169
  i = Qi(a, t), a.forEach(Q), this.h();
33170
  },
33171
  h() {
33172
+ ae(e, "class", "thumbnail-filename svelte-15zxev2"), ae(e, "title", n = /*file_name*/
33173
  r[64]);
33174
  },
33175
  m(s, a) {
 
33226
  s.l(I), a = Le(I), p && p.l(I), I.forEach(Q), b.forEach(Q), l = Le(S), y && y.l(S), u = Le(S), S.forEach(Q), this.h();
33227
  },
33228
  h() {
33229
+ ae(i, "class", "thumbnail-item thumbnail-lg svelte-15zxev2"), ae(i, "aria-label", o = "Thumbnail " + /*i*/
33230
  (r[66] + 1) + " of " + /*resolved_value*/
33231
  r[16].length), mt(
33232
  i,
 
33234
  /*selected_index*/
33235
  r[0] === /*i*/
33236
  r[66]
33237
+ ), ae(t, "class", "gallery-item svelte-15zxev2"), ae(e, "class", "gallery-item-with-name svelte-15zxev2");
33238
  },
33239
  m(_, S) {
33240
  _e(_, e, S), ue(e, t), ue(t, i), g[n].m(i, null), ue(i, a), p && p.m(i, null), ue(e, l), y && y.m(e, null), ue(e, u), c = !0, d || (h = $i(i, "click", v), d = !0);
 
33351
  }
33352
  if (!n) return;
33353
  const M = "image" in n ? n.image : null;
33354
+ M && (t(26, te = !0), t(43, J = await Qb(M, F)), t(26, te = !1), t(25, X = !0));
33355
  }
33356
  function K() {
33357
  i !== null && (B("load_metadata", i), Ve());
 
33464
  index: S,
33465
  value: P == null ? void 0 : P[S]
33466
  }))), r.$$.dirty[1] & /*only_custom_metadata, metadata*/
33467
+ 4608 && t(28, i = F && J ? Object.fromEntries(Object.entries(J || {}).filter(([Je]) => !Zb.has(Je))) : J), r.$$.dirty[0] & /*value*/
33468
  16 && (c == null || c.length), r.$$.dirty[0] & /*resolved_value*/
33469
  65536 | r.$$.dirty[1] & /*columns*/
33470
  32)
 
33547
  qr
33548
  ];
33549
  }
33550
+ class DT extends Jb {
33551
  constructor(e) {
33552
  super(), eT(
33553
  this,
src/backend/gradio_mediagallery/templates/component/style.css CHANGED
@@ -1 +1 @@
1
- .block.svelte-239wnu{position:relative;margin:0;box-shadow:var(--block-shadow);border-width:var(--block-border-width);border-color:var(--block-border-color);border-radius:var(--block-radius);background:var(--block-background-fill);width:100%;line-height:var(--line-sm)}.block.fullscreen.svelte-239wnu{border-radius:0}.auto-margin.svelte-239wnu{margin-left:auto;margin-right:auto}.block.border_focus.svelte-239wnu{border-color:var(--color-accent)}.block.border_contrast.svelte-239wnu{border-color:var(--body-text-color)}.padded.svelte-239wnu{padding:var(--block-padding)}.hidden.svelte-239wnu{display:none}.flex.svelte-239wnu{display:flex;flex-direction:column}.hide-container.svelte-239wnu:not(.fullscreen){margin:0;box-shadow:none;--block-border-width:0;background:transparent;padding:0;overflow:visible}.resize-handle.svelte-239wnu{position:absolute;bottom:0;right:0;width:10px;height:10px;fill:var(--block-border-color);cursor:nwse-resize}.fullscreen.svelte-239wnu{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1000;overflow:auto}.animating.svelte-239wnu{animation:svelte-239wnu-pop-out .1s ease-out forwards}@keyframes svelte-239wnu-pop-out{0%{position:fixed;top:var(--start-top);left:var(--start-left);width:var(--start-width);height:var(--start-height);z-index:100}to{position:fixed;top:0vh;left:0vw;width:100vw;height:100vh;z-index:1000}}.placeholder.svelte-239wnu{border-radius:var(--block-radius);border-width:var(--block-border-width);border-color:var(--block-border-color);border-style:dashed}Tables */ table,tr,td,th{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding:var(--spacing-xl)}.md code,.md pre{background:none;font-family:var(--font-mono);font-size:var(--text-sm);text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:2;tab-size:2;-webkit-hyphens:none;hyphens:none}.md pre[class*=language-]::selection,.md pre[class*=language-] ::selection,.md code[class*=language-]::selection,.md code[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}.md pre{padding:1em;margin:.5em 0;overflow:auto;position:relative;margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm);box-shadow:none;border:none;border-radius:var(--radius-md);background:var(--code-background-fill);padding:var(--spacing-xxl);font-family:var(--font-mono);text-shadow:none;border-radius:var(--radius-sm);white-space:nowrap;display:block;white-space:pre}.md :not(pre)>code{padding:.1em;border-radius:var(--radius-xs);white-space:normal;background:var(--code-background-fill);border:1px solid var(--panel-border-color);padding:var(--spacing-xxs) var(--spacing-xs)}.md .token.comment,.md .token.prolog,.md .token.doctype,.md .token.cdata{color:#708090}.md .token.punctuation{color:#999}.md .token.namespace{opacity:.7}.md .token.property,.md .token.tag,.md .token.boolean,.md .token.number,.md .token.constant,.md .token.symbol,.md .token.deleted{color:#905}.md .token.selector,.md .token.attr-name,.md .token.string,.md .token.char,.md .token.builtin,.md .token.inserted{color:#690}.md .token.atrule,.md .token.attr-value,.md .token.keyword{color:#07a}.md .token.function,.md .token.class-name{color:#dd4a68}.md .token.regex,.md .token.important,.md .token.variable{color:#e90}.md .token.important,.md .token.bold{font-weight:700}.md .token.italic{font-style:italic}.md .token.entity{cursor:help}.dark .md .token.comment,.dark .md .token.prolog,.dark .md .token.cdata{color:#5c6370}.dark .md .token.doctype,.dark .md .token.punctuation,.dark .md .token.entity{color:#abb2bf}.dark .md .token.attr-name,.dark .md .token.class-name,.dark .md .token.boolean,.dark .md .token.constant,.dark .md .token.number,.dark .md .token.atrule{color:#d19a66}.dark .md .token.keyword{color:#c678dd}.dark .md .token.property,.dark .md .token.tag,.dark .md .token.symbol,.dark .md .token.deleted,.dark .md .token.important{color:#e06c75}.dark .md .token.selector,.dark .md .token.string,.dark .md .token.char,.dark .md .token.builtin,.dark .md .token.inserted,.dark .md .token.regex,.dark .md .token.attr-value,.dark .md .token.attr-value>.token.punctuation{color:#98c379}.dark .md .token.variable,.dark .md .token.operator,.dark .md .token.function{color:#61afef}.dark .md .token.url{color:#56b6c2}span.svelte-1m32c2s div[class*=code_wrap]{position:relative}span.svelte-1m32c2s span.katex{font-size:var(--text-lg);direction:ltr}span.svelte-1m32c2s div[class*=code_wrap]>button{z-index:1;cursor:pointer;border-bottom-left-radius:var(--radius-sm);padding:var(--spacing-md);width:25px;height:25px;position:absolute;right:0}span.svelte-1m32c2s .check{opacity:0;z-index:var(--layer-top);transition:opacity .2s;background:var(--code-background-fill);color:var(--body-text-color);position:absolute;top:var(--size-1-5);left:var(--size-1-5)}span.svelte-1m32c2s p:not(:first-child){margin-top:var(--spacing-xxl)}span.svelte-1m32c2s .md-header-anchor{margin-left:-25px;padding-right:8px;line-height:1;color:var(--body-text-color-subdued);opacity:0}span.svelte-1m32c2s h1:hover .md-header-anchor,span.svelte-1m32c2s h2:hover .md-header-anchor,span.svelte-1m32c2s h3:hover .md-header-anchor,span.svelte-1m32c2s h4:hover .md-header-anchor,span.svelte-1m32c2s h5:hover .md-header-anchor,span.svelte-1m32c2s h6:hover .md-header-anchor{opacity:1}span.md.svelte-1m32c2s .md-header-anchor>svg{color:var(--body-text-color-subdued)}span.svelte-1m32c2s table{word-break:break-word}div.svelte-17qq50w>.md.prose{font-weight:var(--block-info-text-weight);font-size:var(--block-info-text-size);line-height:var(--line-sm)}div.svelte-17qq50w>.md.prose *{color:var(--block-info-text-color)}div.svelte-17qq50w{margin-bottom:var(--spacing-md)}span.has-info.svelte-zgrq3{margin-bottom:var(--spacing-xs)}span.svelte-zgrq3:not(.has-info){margin-bottom:var(--spacing-lg)}span.svelte-zgrq3{display:inline-block;position:relative;z-index:var(--layer-4);border:solid var(--block-title-border-width) var(--block-title-border-color);border-radius:var(--block-title-radius);background:var(--block-title-background-fill);padding:var(--block-title-padding);color:var(--block-title-text-color);font-weight:var(--block-title-text-weight);font-size:var(--block-title-text-size);line-height:var(--line-sm)}span[dir=rtl].svelte-zgrq3{display:block}.hide.svelte-zgrq3{margin:0;height:0}label.svelte-igqdol.svelte-igqdol{display:inline-flex;align-items:center;z-index:var(--layer-2);box-shadow:var(--block-label-shadow);border:var(--block-label-border-width) solid var(--block-label-border-color);border-top:none;border-left:none;border-radius:var(--block-label-radius);background:var(--block-label-background-fill);padding:var(--block-label-padding);pointer-events:none;color:var(--block-label-text-color);font-weight:var(--block-label-text-weight);font-size:var(--block-label-text-size);line-height:var(--line-sm)}.gr-group label.svelte-igqdol.svelte-igqdol{border-top-left-radius:0}label.float.svelte-igqdol.svelte-igqdol{position:absolute;top:var(--block-label-margin);left:var(--block-label-margin)}label.svelte-igqdol.svelte-igqdol:not(.float){position:static;margin-top:var(--block-label-margin);margin-left:var(--block-label-margin)}.hide.svelte-igqdol.svelte-igqdol{display:none}span.svelte-igqdol.svelte-igqdol{opacity:.8;margin-right:var(--size-2);width:calc(var(--block-label-text-size) - 1px);height:calc(var(--block-label-text-size) - 1px)}.hide-label.svelte-igqdol.svelte-igqdol{box-shadow:none;border-width:0;background:transparent;overflow:visible}label[dir=rtl].svelte-igqdol.svelte-igqdol{border:var(--block-label-border-width) solid var(--block-label-border-color);border-top:none;border-right:none;border-bottom-left-radius:var(--block-radius);border-bottom-right-radius:var(--block-label-radius);border-top-left-radius:var(--block-label-radius)}label[dir=rtl].svelte-igqdol span.svelte-igqdol{margin-left:var(--size-2);margin-right:0}.unstyled-link.svelte-151nsdd{all:unset;cursor:pointer}button.svelte-y0enk4{display:flex;justify-content:center;align-items:center;gap:1px;z-index:var(--layer-2);border-radius:var(--radius-xs);color:var(--block-label-text-color);border:1px solid var(--border-color);padding:var(--spacing-xxs)}button.svelte-y0enk4:hover{background-color:var(--background-fill-secondary)}button[disabled].svelte-y0enk4{opacity:.5;box-shadow:none}button[disabled].svelte-y0enk4:hover{cursor:not-allowed}.padded.svelte-y0enk4{background:var(--bg-color)}button.svelte-y0enk4:hover,button.highlight.svelte-y0enk4{cursor:pointer;color:var(--color-accent)}.padded.svelte-y0enk4:hover{color:var(--block-label-text-color)}span.svelte-y0enk4{padding:0 1px;font-size:10px}div.svelte-y0enk4{display:flex;align-items:center;justify-content:center;transition:filter .2s ease-in-out}.x-small.svelte-y0enk4{width:10px;height:10px}.small.svelte-y0enk4{width:14px;height:14px}.medium.svelte-y0enk4{width:20px;height:20px}.large.svelte-y0enk4{width:22px;height:22px}.pending.svelte-y0enk4{animation:svelte-y0enk4-flash .5s infinite}@keyframes svelte-y0enk4-flash{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.transparent.svelte-y0enk4{background:transparent;border:none;box-shadow:none}.empty.svelte-3w3rth{display:flex;justify-content:center;align-items:center;margin-top:calc(0px - var(--size-6));height:var(--size-full)}.icon.svelte-3w3rth{opacity:.5;height:var(--size-5);color:var(--body-text-color)}.small.svelte-3w3rth{min-height:calc(var(--size-32) - 20px)}.large.svelte-3w3rth{min-height:calc(var(--size-64) - 20px)}.unpadded_box.svelte-3w3rth{margin-top:0}.small_parent.svelte-3w3rth{min-height:100%!important}.dropdown-arrow.svelte-145leq6,.dropdown-arrow.svelte-ihhdbf{fill:currentColor}.circle.svelte-ihhdbf{fill:currentColor;opacity:.1}svg.svelte-pb9pol{animation:svelte-pb9pol-spin 1.5s linear infinite}@keyframes svelte-pb9pol-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}h2.svelte-1xg7h5n{font-size:var(--text-xl)!important}p.svelte-1xg7h5n,h2.svelte-1xg7h5n{white-space:pre-line}.wrap.svelte-1xg7h5n{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:var(--size-60);color:var(--block-label-text-color);line-height:var(--line-md);height:100%;padding-top:var(--size-3);text-align:center;margin:auto var(--spacing-lg)}.or.svelte-1xg7h5n{color:var(--body-text-color-subdued);display:flex}.icon-wrap.svelte-1xg7h5n{width:30px;margin-bottom:var(--spacing-lg)}@media (--screen-md){.wrap.svelte-1xg7h5n{font-size:var(--text-lg)}}.hovered.svelte-1xg7h5n{color:var(--color-accent)}div.svelte-q32hvf{border-top:1px solid transparent;display:flex;max-height:100%;justify-content:center;align-items:center;gap:var(--spacing-sm);height:auto;align-items:flex-end;color:var(--block-label-text-color);flex-shrink:0}.show_border.svelte-q32hvf{border-top:1px solid var(--block-border-color);margin-top:var(--spacing-xxl);box-shadow:var(--shadow-drop)}.source-selection.svelte-15ls1gu{display:flex;align-items:center;justify-content:center;border-top:1px solid var(--border-color-primary);width:100%;margin-left:auto;margin-right:auto;height:var(--size-10)}.icon.svelte-15ls1gu{width:22px;height:22px;margin:var(--spacing-lg) var(--spacing-xs);padding:var(--spacing-xs);color:var(--neutral-400);border-radius:var(--radius-md)}.selected.svelte-15ls1gu{color:var(--color-accent)}.icon.svelte-15ls1gu:hover,.icon.svelte-15ls1gu:focus{color:var(--color-accent)}.icon-button-wrapper.svelte-1h0hs6p{display:flex;flex-direction:row;align-items:center;justify-content:center;z-index:var(--layer-2);gap:var(--spacing-sm);box-shadow:var(--shadow-drop);border:1px solid var(--border-color-primary);background:var(--block-background-fill);padding:var(--spacing-xxs)}.icon-button-wrapper.hide-top-corner.svelte-1h0hs6p{border-top:none;border-right:none;border-radius:var(--block-label-right-radius)}.icon-button-wrapper.display-top-corner.svelte-1h0hs6p{border-radius:var(--radius-sm) 0 0 var(--radius-sm);top:var(--spacing-sm);right:-1px}.icon-button-wrapper.svelte-1h0hs6p:not(.top-panel){border:1px solid var(--border-color-primary);border-radius:var(--radius-sm)}.top-panel.svelte-1h0hs6p{position:absolute;top:var(--block-label-margin);right:var(--block-label-margin);margin:0}.icon-button-wrapper.svelte-1h0hs6p button{margin:var(--spacing-xxs);border-radius:var(--radius-xs);position:relative}.icon-button-wrapper.svelte-1h0hs6p a.download-link:not(:last-child),.icon-button-wrapper.svelte-1h0hs6p button:not(:last-child){margin-right:var(--spacing-xxs)}.icon-button-wrapper.svelte-1h0hs6p a.download-link:not(:last-child):not(.no-border *):after,.icon-button-wrapper.svelte-1h0hs6p button:not(:last-child):not(.no-border *):after{content:"";position:absolute;right:-4.5px;top:15%;height:70%;width:1px;background-color:var(--border-color-primary)}.icon-button-wrapper.svelte-1h0hs6p>*{height:100%}img.svelte-kxeri3{object-fit:cover}.image-container.svelte-x2tujq.svelte-x2tujq{height:100%;position:relative;min-width:var(--size-20)}.image-container.svelte-x2tujq button.svelte-x2tujq{width:var(--size-full);height:var(--size-full);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.image-frame.svelte-x2tujq img{width:var(--size-full);height:var(--size-full);object-fit:scale-down}.selectable.svelte-x2tujq.svelte-x2tujq{cursor:crosshair}.fullscreen-controls svg{position:relative;top:0}.image-container:fullscreen{background-color:#000;display:flex;justify-content:center;align-items:center}.image-container:fullscreen img{max-width:90vw;max-height:90vh;object-fit:scale-down}.image-frame.svelte-x2tujq.svelte-x2tujq{width:auto;height:100%;display:flex;align-items:center;justify-content:center}.overlay.svelte-1pwzuub{position:absolute;background-color:#0006;width:100%;height:100%}.hidden.svelte-1pwzuub{display:none}.load-wrap.svelte-1pwzuub{display:flex;justify-content:center;align-items:center;height:100%}.loader.svelte-1pwzuub{display:flex;position:relative;background-color:var(--border-color-accent-subdued);animation:svelte-1pwzuub-shadowPulse 2s linear infinite;box-shadow:-24px 0 var(--border-color-accent-subdued),24px 0 var(--border-color-accent-subdued);margin:var(--spacing-md);border-radius:50%;width:10px;height:10px;scale:.5}@keyframes svelte-1pwzuub-shadowPulse{33%{box-shadow:-24px 0 var(--border-color-accent-subdued),24px 0 #fff;background:#fff}66%{box-shadow:-24px 0 #fff,24px 0 #fff;background:var(--border-color-accent-subdued)}to{box-shadow:-24px 0 #fff,24px 0 var(--border-color-accent-subdued);background:#fff}}.gallery-container.svelte-6hcxqi.svelte-6hcxqi{position:relative;width:100%;height:100%}.preview.svelte-6hcxqi.svelte-6hcxqi{display:flex;position:absolute;flex-direction:column;z-index:var(--layer-2);border-radius:calc(var(--block-radius) - var(--block-border-width));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:var(--size-full);height:var(--size-full)}.preview.svelte-6hcxqi.svelte-6hcxqi:focus-visible{outline:none}.preview.minimal.svelte-6hcxqi.svelte-6hcxqi{width:fit-content;height:fit-content}.preview.svelte-6hcxqi.svelte-6hcxqi:before{content:"";position:absolute;z-index:var(--layer-below);background:var(--background-fill-primary);opacity:.9;width:var(--size-full);height:var(--size-full)}.fixed-height.svelte-6hcxqi.svelte-6hcxqi{min-height:var(--size-80);max-height:65vh}@media (--screen-xl){.fixed-height.svelte-6hcxqi.svelte-6hcxqi{min-height:450px}}.media-container.svelte-6hcxqi.svelte-6hcxqi{height:calc(100% - var(--size-14));width:100%;display:flex;align-items:center;justify-content:center;cursor:pointer}.media-container.svelte-6hcxqi img,.media-container.svelte-6hcxqi video{max-width:100%;max-height:100%;object-fit:contain}.thumbnails.svelte-6hcxqi img{object-fit:cover;width:var(--size-full);height:var(--size-full)}.thumbnails.svelte-6hcxqi svg{position:absolute;top:var(--size-2);left:var(--size-2);width:50%;height:50%;opacity:50%}.caption.svelte-6hcxqi.svelte-6hcxqi{padding:var(--size-2) var(--size-3);overflow:hidden;color:var(--block-label-text-color);font-weight:var(--weight-semibold);text-align:center;text-overflow:ellipsis;white-space:nowrap;align-self:center}.thumbnails.svelte-6hcxqi.svelte-6hcxqi{display:flex;position:absolute;bottom:0;justify-content:flex-start;align-items:center;gap:var(--spacing-lg);width:var(--size-full);height:var(--size-14);overflow-x:scroll}.thumbnail-item.svelte-6hcxqi.svelte-6hcxqi{--ring-color:transparent;position:relative;box-shadow:inset 0 0 0 1px var(--ring-color),var(--shadow-drop);border:1px solid var(--border-color-primary);border-radius:var(--button-small-radius);background:var(--background-fill-secondary);aspect-ratio:var(--ratio-square);width:var(--size-full);height:var(--size-full);overflow:clip}.thumbnail-item.svelte-6hcxqi.svelte-6hcxqi:hover{--ring-color:var(--color-accent);border-color:var(--color-accent);filter:brightness(1.1)}.thumbnail-item.selected.svelte-6hcxqi.svelte-6hcxqi{--ring-color:var(--color-accent);border-color:var(--color-accent)}.thumbnail-item.svelte-6hcxqi svg{position:absolute;top:50%;left:50%;width:50%;height:50%;opacity:50%;transform:translate(-50%,-50%)}.thumbnail-item.svelte-6hcxqi video{width:var(--size-full);height:var(--size-full);overflow:hidden;object-fit:cover}.thumbnail-small.svelte-6hcxqi.svelte-6hcxqi{flex:none;transform:scale(.9);transition:75ms;width:var(--size-9);height:var(--size-9)}.thumbnail-small.selected.svelte-6hcxqi.svelte-6hcxqi{--ring-color:var(--color-accent);transform:scale(1);border-color:var(--color-accent)}.grid-wrap.svelte-6hcxqi.svelte-6hcxqi{position:relative;padding:var(--size-2);overflow-y:auto}.grid-wrap.fixed-height.svelte-6hcxqi.svelte-6hcxqi{min-height:var(--size-80);max-height:65vh}.grid-container.svelte-6hcxqi.svelte-6hcxqi{display:grid;position:relative;grid-template-rows:repeat(var(--grid-rows),minmax(100px,1fr));grid-template-columns:repeat(var(--grid-cols),minmax(100px,1fr));grid-auto-rows:minmax(100px,1fr);gap:var(--spacing-lg)}.single-item-wrapper.svelte-6hcxqi.svelte-6hcxqi{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:var(--spacing-xxl);box-sizing:border-box}.single-item-wrapper.svelte-6hcxqi .gallery-item-with-name.svelte-6hcxqi{width:100%;height:100%;max-width:min(300px,80vw);max-height:min(320px,calc(80vh - var(--size-4)));display:flex;flex-direction:column;align-items:center}.single-item-wrapper.svelte-6hcxqi .gallery-item.svelte-6hcxqi{width:100%;height:100%;max-width:100%;max-height:100%}.single-item-wrapper.svelte-6hcxqi .thumbnail-item.thumbnail-lg.svelte-6hcxqi{display:flex!important;align-items:center!important;justify-content:center!important}.single-item-wrapper.svelte-6hcxqi .thumbnail-filename.svelte-6hcxqi{height:var(--size-4);line-height:var(--size-4)}.single-item-wrapper.svelte-6hcxqi .thumbnail-lg.svelte-6hcxqi>img,.single-item-wrapper.svelte-6hcxqi .thumbnail-lg.svelte-6hcxqi>video{object-fit:var(--object-fit)!important}.thumbnail-lg.svelte-6hcxqi>img,.thumbnail-lg.svelte-6hcxqi>video{width:var(--size-full);height:var(--size-full);overflow:hidden;object-fit:var(--object-fit)}.thumbnail-lg.svelte-6hcxqi:hover .caption-label.svelte-6hcxqi{opacity:.5}.caption-label.svelte-6hcxqi.svelte-6hcxqi{position:absolute;right:var(--block-label-margin);bottom:var(--block-label-margin);z-index:var(--layer-1);border-top:1px solid var(--border-color-primary);border-left:1px solid var(--border-color-primary);border-radius:var(--block-label-radius);background:var(--background-fill-secondary);padding:var(--block-label-padding);max-width:80%;overflow:hidden;font-size:var(--block-label-text-size);text-align:left;text-overflow:ellipsis;white-space:nowrap}.grid-wrap.minimal.svelte-6hcxqi.svelte-6hcxqi{padding:0}.gallery-item-with-name.svelte-6hcxqi.svelte-6hcxqi{display:flex;flex-direction:column;gap:var(--size-1);width:100%;height:100%}.thumbnail-filename.svelte-6hcxqi.svelte-6hcxqi{font-size:var(--text-xs);color:var(--body-text-color);text-align:center;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--size-1)}.gallery-item.svelte-6hcxqi.svelte-6hcxqi{position:relative;width:100%;height:100%}.metadata-popup.svelte-6hcxqi.svelte-6hcxqi{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--background-fill-primary, white);border:1px solid var(--border-color-primary);box-shadow:0 4px 8px #0003;z-index:1000;border-radius:8px;max-width:min(90%,600px);max-height:min(50vh,calc(100% - 2rem));min-height:200px;display:flex;flex-direction:column;pointer-events:auto}.popup-content.svelte-6hcxqi.svelte-6hcxqi{padding:1rem;display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow-y:auto;position:relative}.close-button.svelte-6hcxqi.svelte-6hcxqi{position:absolute;top:.5rem;right:.5rem;background:none;border:none;font-size:1.25rem;cursor:pointer;z-index:20;color:var(--body-text-color);padding:.25rem;line-height:1;width:24px;height:24px;text-align:center}.popup-title.svelte-6hcxqi.svelte-6hcxqi{font-weight:700;margin:0 0 1rem;flex-shrink:0;padding-right:2.5rem}.metadata-table-container.svelte-6hcxqi.svelte-6hcxqi{flex-grow:1;overflow-y:auto;max-height:calc(100% - 5rem);min-height:0;margin-bottom:1rem}.metadata-table.svelte-6hcxqi.svelte-6hcxqi{width:100%;border-collapse:collapse;table-layout:auto}.metadata-label.svelte-6hcxqi.svelte-6hcxqi{background:var(--background-fill-secondary, #f5f5f5);padding:.5rem;font-weight:700;text-align:left;vertical-align:top;width:45%}.metadata-value.svelte-6hcxqi.svelte-6hcxqi{text-align:left;padding:.5rem;white-space:pre-wrap;word-break:break-all;vertical-align:top}.load-metadata-button.svelte-6hcxqi.svelte-6hcxqi{margin-top:1rem;padding:.5rem 1rem;background-color:var(--button-primary-border-color);color:var(--button-primary-text-color);border:none;border-radius:4px;cursor:pointer;align-self:center;flex-shrink:0}.load-metadata-button.svelte-6hcxqi.svelte-6hcxqi:hover{background-color:var(--button-primary-border-color)}.no-metadata-message.svelte-6hcxqi.svelte-6hcxqi{flex-grow:1;display:flex;align-items:center;justify-content:center;color:var(--body-text-color-subdued)}svg.svelte-43sxxs.svelte-43sxxs{width:var(--size-20);height:var(--size-20)}svg.svelte-43sxxs path.svelte-43sxxs{fill:var(--loader-color)}div.svelte-43sxxs.svelte-43sxxs{z-index:var(--layer-2)}.margin.svelte-43sxxs.svelte-43sxxs{margin:var(--size-4)}.wrap.svelte-vusapu.svelte-vusapu{display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:var(--layer-3);transition:opacity .1s ease-in-out;border-radius:var(--block-radius);background:var(--block-background-fill);padding:0 var(--size-6);overflow:hidden;pointer-events:none}.wrap.center.svelte-vusapu.svelte-vusapu{top:0;right:0;left:0}.wrap.default.svelte-vusapu.svelte-vusapu{top:0;right:0;bottom:0;left:0}.hide.svelte-vusapu.svelte-vusapu{opacity:0;pointer-events:none}.generating.svelte-vusapu.svelte-vusapu{animation:svelte-vusapu-pulseStart 1s cubic-bezier(.4,0,.6,1),svelte-vusapu-pulse 2s cubic-bezier(.4,0,.6,1) 1s infinite;border:2px solid var(--color-accent);background:transparent;z-index:var(--layer-1);pointer-events:none}.translucent.svelte-vusapu.svelte-vusapu{background:none}@keyframes svelte-vusapu-pulseStart{0%{opacity:0}to{opacity:1}}@keyframes svelte-vusapu-pulse{0%,to{opacity:1}50%{opacity:.5}}.loading.svelte-vusapu.svelte-vusapu{z-index:var(--layer-2);color:var(--body-text-color)}.eta-bar.svelte-vusapu.svelte-vusapu{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left;opacity:.8;z-index:var(--layer-1);transition:10ms;background:var(--background-fill-secondary)}.progress-bar-wrap.svelte-vusapu.svelte-vusapu{border:1px solid var(--border-color-primary);background:var(--background-fill-primary);width:55.5%;height:var(--size-4)}.progress-bar.svelte-vusapu.svelte-vusapu{transform-origin:left;background-color:var(--loader-color);width:var(--size-full);height:var(--size-full)}.progress-level.svelte-vusapu.svelte-vusapu{display:flex;flex-direction:column;align-items:center;gap:1;z-index:var(--layer-2);width:var(--size-full)}.progress-level-inner.svelte-vusapu.svelte-vusapu{margin:var(--size-2) auto;color:var(--body-text-color);font-size:var(--text-sm);font-family:var(--font-mono)}.meta-text.svelte-vusapu.svelte-vusapu{position:absolute;bottom:0;right:0;z-index:var(--layer-2);padding:var(--size-1) var(--size-2);font-size:var(--text-sm);font-family:var(--font-mono)}.meta-text-center.svelte-vusapu.svelte-vusapu{display:flex;position:absolute;top:0;right:0;justify-content:center;align-items:center;transform:translateY(var(--size-6));z-index:var(--layer-2);padding:var(--size-1) var(--size-2);font-size:var(--text-sm);font-family:var(--font-mono);text-align:center}.error.svelte-vusapu.svelte-vusapu{box-shadow:var(--shadow-drop);border:solid 1px var(--error-border-color);border-radius:var(--radius-full);background:var(--error-background-fill);padding-right:var(--size-4);padding-left:var(--size-4);color:var(--error-text-color);font-weight:var(--weight-semibold);font-size:var(--text-lg);line-height:var(--line-lg);font-family:var(--font)}.validation-error.svelte-vusapu.svelte-vusapu{pointer-events:auto;color:var(--error-text-color);font-weight:var(--weight-semibold);font-size:var(--text-lg);line-height:var(--line-lg);font-family:var(--font);position:absolute;background:var(--error-background-fill);top:0;right:0;z-index:var(--layer-3);padding:var(--size-1) var(--size-2);font-size:var(--text-md);text-align:center;border-bottom-left-radius:var(--radius-sm);border-bottom:1px solid var(--error-border-color);border-left:1px solid var(--error-border-color);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-xl)}.minimal.svelte-vusapu.svelte-vusapu{pointer-events:none}.minimal.svelte-vusapu .progress-text.svelte-vusapu{background:var(--block-background-fill)}.border.svelte-vusapu.svelte-vusapu{border:1px solid var(--border-color-primary)}.clear-status.svelte-vusapu.svelte-vusapu{position:absolute;display:flex;top:var(--size-2);right:var(--size-2);justify-content:flex-end;gap:var(--spacing-sm);z-index:var(--layer-1)}.toast-body.svelte-syezpc{display:flex;position:relative;right:0;left:0;align-items:center;margin:var(--size-6) var(--size-4);margin:auto;border-radius:var(--container-radius);overflow:hidden;pointer-events:auto}.toast-body.error.svelte-syezpc{border:1px solid var(--color-red-700);background:var(--color-red-50)}.dark .toast-body.error.svelte-syezpc{border:1px solid var(--color-red-500);background-color:var(--color-grey-950)}.toast-body.warning.svelte-syezpc{border:1px solid var(--color-yellow-700);background:var(--color-yellow-50)}.dark .toast-body.warning.svelte-syezpc{border:1px solid var(--color-yellow-500);background-color:var(--color-grey-950)}.toast-body.info.svelte-syezpc{border:1px solid var(--color-grey-700);background:var(--color-grey-50)}.dark .toast-body.info.svelte-syezpc{border:1px solid var(--color-grey-500);background-color:var(--color-grey-950)}.toast-body.success.svelte-syezpc{border:1px solid var(--color-green-700);background:var(--color-green-50)}.dark .toast-body.success.svelte-syezpc{border:1px solid var(--color-green-500);background-color:var(--color-grey-950)}.toast-title.svelte-syezpc{display:flex;align-items:center;font-weight:var(--weight-bold);font-size:var(--text-lg);line-height:var(--line-sm)}.toast-title.error.svelte-syezpc{color:var(--color-red-700)}.dark .toast-title.error.svelte-syezpc{color:var(--color-red-50)}.toast-title.warning.svelte-syezpc{color:var(--color-yellow-700)}.dark .toast-title.warning.svelte-syezpc{color:var(--color-yellow-50)}.toast-title.info.svelte-syezpc{color:var(--color-grey-700)}.dark .toast-title.info.svelte-syezpc{color:var(--color-grey-50)}.toast-title.success.svelte-syezpc{color:var(--color-green-700)}.dark .toast-title.success.svelte-syezpc{color:var(--color-green-50)}.toast-close.svelte-syezpc{margin:0 var(--size-3);border-radius:var(--size-3);padding:0px var(--size-1-5);font-size:var(--size-5);line-height:var(--size-5)}.toast-close.error.svelte-syezpc{color:var(--color-red-700)}.dark .toast-close.error.svelte-syezpc{color:var(--color-red-500)}.toast-close.warning.svelte-syezpc{color:var(--color-yellow-700)}.dark .toast-close.warning.svelte-syezpc{color:var(--color-yellow-500)}.toast-close.info.svelte-syezpc{color:var(--color-grey-700)}.dark .toast-close.info.svelte-syezpc{color:var(--color-grey-500)}.toast-close.success.svelte-syezpc{color:var(--color-green-700)}.dark .toast-close.success.svelte-syezpc{color:var(--color-green-500)}.toast-text.svelte-syezpc{font-size:var(--text-lg);word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.toast-text.error.svelte-syezpc{color:var(--color-red-700)}.dark .toast-text.error.svelte-syezpc{color:var(--color-red-50)}.toast-text.warning.svelte-syezpc{color:var(--color-yellow-700)}.dark .toast-text.warning.svelte-syezpc{color:var(--color-yellow-50)}.toast-text.info.svelte-syezpc{color:var(--color-grey-700)}.dark .toast-text.info.svelte-syezpc{color:var(--color-grey-50)}.toast-text.success.svelte-syezpc{color:var(--color-green-700)}.dark .toast-text.success.svelte-syezpc{color:var(--color-green-50)}.toast-details.svelte-syezpc{margin:var(--size-3) var(--size-3) var(--size-3) 0;width:100%}.toast-icon.svelte-syezpc{display:flex;position:absolute;position:relative;flex-shrink:0;justify-content:center;align-items:center;margin:var(--size-2);border-radius:var(--radius-full);padding:var(--size-1);padding-left:calc(var(--size-1) - 1px);width:35px;height:35px}.toast-icon.error.svelte-syezpc{color:var(--color-red-700)}.dark .toast-icon.error.svelte-syezpc{color:var(--color-red-500)}.toast-icon.warning.svelte-syezpc{color:var(--color-yellow-700)}.dark .toast-icon.warning.svelte-syezpc{color:var(--color-yellow-500)}.toast-icon.info.svelte-syezpc{color:var(--color-grey-700)}.dark .toast-icon.info.svelte-syezpc{color:var(--color-grey-500)}.toast-icon.success.svelte-syezpc{color:var(--color-green-700)}.dark .toast-icon.success.svelte-syezpc{color:var(--color-green-500)}@keyframes svelte-syezpc-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.timer.svelte-syezpc{position:absolute;bottom:0;left:0;transform-origin:0 0;animation:svelte-syezpc-countdown 10s linear forwards;width:100%;height:var(--size-1)}.timer.error.svelte-syezpc{background:var(--color-red-700)}.dark .timer.error.svelte-syezpc{background:var(--color-red-500)}.timer.warning.svelte-syezpc{background:var(--color-yellow-700)}.dark .timer.warning.svelte-syezpc{background:var(--color-yellow-500)}.timer.info.svelte-syezpc{background:var(--color-grey-700)}.dark .timer.info.svelte-syezpc{background:var(--color-grey-500)}.timer.success.svelte-syezpc{background:var(--color-green-700)}.dark .timer.success.svelte-syezpc{background:var(--color-green-500)}.hidden.svelte-syezpc{display:none}.toast-text.svelte-syezpc a{text-decoration:underline}.toast-wrap.svelte-je2isz{--toast-top:var(--size-4);display:flex;position:fixed;top:calc(var(--toast-top) + var(--size-4));right:var(--size-4);flex-direction:column;align-items:end;gap:var(--size-2);z-index:var(--layer-top);width:calc(100% - var(--size-8))}@media (--screen-sm){.toast-wrap.svelte-je2isz{width:calc(var(--size-96) + var(--size-10))}}.streaming-bar.svelte-ga0jj6{position:absolute;bottom:0;left:0;right:0;height:4px;background-color:var(--primary-600);animation:svelte-ga0jj6-countdown linear forwards;z-index:1}@keyframes svelte-ga0jj6-countdown{0%{transform:translate(0)}to{transform:translate(-100%)}}:global(*::-webkit-scrollbar){width:8px;height:8px;background-color:transparent}:global(*::-webkit-scrollbar-track){background:transparent;border-radius:10px}:global(*::-webkit-scrollbar-thumb){background-color:#8886;border-radius:10px;border:2px solid transparent;background-clip:content-box}:global(*::-webkit-scrollbar-thumb:hover){background-color:#888888b3}:global(html){scrollbar-width:thin;scrollbar-color:rgba(136,136,136,.7) transparent}.container.svelte-1onbytl.svelte-1onbytl{border-radius:var(--radius-lg);overflow:hidden}.container.selected.svelte-1onbytl.svelte-1onbytl{border:2px solid var(--border-color-accent)}.images-wrapper.svelte-1onbytl.svelte-1onbytl{display:flex;gap:var(--spacing-sm)}.container.table.svelte-1onbytl .images-wrapper.svelte-1onbytl{flex-direction:row;align-items:center;padding:var(--spacing-sm);border:1px solid var(--border-color-primary);border-radius:var(--radius-lg);background:var(--background-fill-secondary)}.container.gallery.svelte-1onbytl .images-wrapper.svelte-1onbytl{flex-direction:row;gap:0}.image-container.svelte-1onbytl.svelte-1onbytl{position:relative;flex-shrink:0}.container.table.svelte-1onbytl .image-container.svelte-1onbytl{width:var(--size-12);height:var(--size-12)}.container.gallery.svelte-1onbytl .image-container.svelte-1onbytl{width:var(--size-20);height:var(--size-20);margin-left:calc(-1 * var(--size-8))}.container.gallery.svelte-1onbytl .image-container.svelte-1onbytl:first-child{margin-left:0}.more-indicator.svelte-1onbytl.svelte-1onbytl{display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);font-weight:700;color:var(--border-color-primary)}.container.table.svelte-1onbytl .more-indicator.svelte-1onbytl{width:var(--size-12);height:var(--size-12)}.container.gallery.svelte-1onbytl .more-indicator.svelte-1onbytl{width:var(--size-20);height:var(--size-20);margin-left:calc(-1 * var(--size-8));margin-right:calc(-1 * var(--size-6))}.image-container.svelte-1onbytl img.svelte-1onbytl,.image-container.svelte-1onbytl video.svelte-1onbytl{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md)}.caption.svelte-1onbytl.svelte-1onbytl{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;padding:var(--spacing-xs);font-size:var(--text-xs);text-align:center;border-radius:0 0 var(--radius-md) var(--radius-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.container.table.svelte-1onbytl .caption.svelte-1onbytl{display:none}
 
1
+ .block.svelte-239wnu{position:relative;margin:0;box-shadow:var(--block-shadow);border-width:var(--block-border-width);border-color:var(--block-border-color);border-radius:var(--block-radius);background:var(--block-background-fill);width:100%;line-height:var(--line-sm)}.block.fullscreen.svelte-239wnu{border-radius:0}.auto-margin.svelte-239wnu{margin-left:auto;margin-right:auto}.block.border_focus.svelte-239wnu{border-color:var(--color-accent)}.block.border_contrast.svelte-239wnu{border-color:var(--body-text-color)}.padded.svelte-239wnu{padding:var(--block-padding)}.hidden.svelte-239wnu{display:none}.flex.svelte-239wnu{display:flex;flex-direction:column}.hide-container.svelte-239wnu:not(.fullscreen){margin:0;box-shadow:none;--block-border-width:0;background:transparent;padding:0;overflow:visible}.resize-handle.svelte-239wnu{position:absolute;bottom:0;right:0;width:10px;height:10px;fill:var(--block-border-color);cursor:nwse-resize}.fullscreen.svelte-239wnu{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1000;overflow:auto}.animating.svelte-239wnu{animation:svelte-239wnu-pop-out .1s ease-out forwards}@keyframes svelte-239wnu-pop-out{0%{position:fixed;top:var(--start-top);left:var(--start-left);width:var(--start-width);height:var(--start-height);z-index:100}to{position:fixed;top:0vh;left:0vw;width:100vw;height:100vh;z-index:1000}}.placeholder.svelte-239wnu{border-radius:var(--block-radius);border-width:var(--block-border-width);border-color:var(--block-border-color);border-style:dashed}Tables */ table,tr,td,th{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding:var(--spacing-xl)}.md code,.md pre{background:none;font-family:var(--font-mono);font-size:var(--text-sm);text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:2;tab-size:2;-webkit-hyphens:none;hyphens:none}.md pre[class*=language-]::selection,.md pre[class*=language-] ::selection,.md code[class*=language-]::selection,.md code[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}.md pre{padding:1em;margin:.5em 0;overflow:auto;position:relative;margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm);box-shadow:none;border:none;border-radius:var(--radius-md);background:var(--code-background-fill);padding:var(--spacing-xxl);font-family:var(--font-mono);text-shadow:none;border-radius:var(--radius-sm);white-space:nowrap;display:block;white-space:pre}.md :not(pre)>code{padding:.1em;border-radius:var(--radius-xs);white-space:normal;background:var(--code-background-fill);border:1px solid var(--panel-border-color);padding:var(--spacing-xxs) var(--spacing-xs)}.md .token.comment,.md .token.prolog,.md .token.doctype,.md .token.cdata{color:#708090}.md .token.punctuation{color:#999}.md .token.namespace{opacity:.7}.md .token.property,.md .token.tag,.md .token.boolean,.md .token.number,.md .token.constant,.md .token.symbol,.md .token.deleted{color:#905}.md .token.selector,.md .token.attr-name,.md .token.string,.md .token.char,.md .token.builtin,.md .token.inserted{color:#690}.md .token.atrule,.md .token.attr-value,.md .token.keyword{color:#07a}.md .token.function,.md .token.class-name{color:#dd4a68}.md .token.regex,.md .token.important,.md .token.variable{color:#e90}.md .token.important,.md .token.bold{font-weight:700}.md .token.italic{font-style:italic}.md .token.entity{cursor:help}.dark .md .token.comment,.dark .md .token.prolog,.dark .md .token.cdata{color:#5c6370}.dark .md .token.doctype,.dark .md .token.punctuation,.dark .md .token.entity{color:#abb2bf}.dark .md .token.attr-name,.dark .md .token.class-name,.dark .md .token.boolean,.dark .md .token.constant,.dark .md .token.number,.dark .md .token.atrule{color:#d19a66}.dark .md .token.keyword{color:#c678dd}.dark .md .token.property,.dark .md .token.tag,.dark .md .token.symbol,.dark .md .token.deleted,.dark .md .token.important{color:#e06c75}.dark .md .token.selector,.dark .md .token.string,.dark .md .token.char,.dark .md .token.builtin,.dark .md .token.inserted,.dark .md .token.regex,.dark .md .token.attr-value,.dark .md .token.attr-value>.token.punctuation{color:#98c379}.dark .md .token.variable,.dark .md .token.operator,.dark .md .token.function{color:#61afef}.dark .md .token.url{color:#56b6c2}span.svelte-1m32c2s div[class*=code_wrap]{position:relative}span.svelte-1m32c2s span.katex{font-size:var(--text-lg);direction:ltr}span.svelte-1m32c2s div[class*=code_wrap]>button{z-index:1;cursor:pointer;border-bottom-left-radius:var(--radius-sm);padding:var(--spacing-md);width:25px;height:25px;position:absolute;right:0}span.svelte-1m32c2s .check{opacity:0;z-index:var(--layer-top);transition:opacity .2s;background:var(--code-background-fill);color:var(--body-text-color);position:absolute;top:var(--size-1-5);left:var(--size-1-5)}span.svelte-1m32c2s p:not(:first-child){margin-top:var(--spacing-xxl)}span.svelte-1m32c2s .md-header-anchor{margin-left:-25px;padding-right:8px;line-height:1;color:var(--body-text-color-subdued);opacity:0}span.svelte-1m32c2s h1:hover .md-header-anchor,span.svelte-1m32c2s h2:hover .md-header-anchor,span.svelte-1m32c2s h3:hover .md-header-anchor,span.svelte-1m32c2s h4:hover .md-header-anchor,span.svelte-1m32c2s h5:hover .md-header-anchor,span.svelte-1m32c2s h6:hover .md-header-anchor{opacity:1}span.md.svelte-1m32c2s .md-header-anchor>svg{color:var(--body-text-color-subdued)}span.svelte-1m32c2s table{word-break:break-word}div.svelte-17qq50w>.md.prose{font-weight:var(--block-info-text-weight);font-size:var(--block-info-text-size);line-height:var(--line-sm)}div.svelte-17qq50w>.md.prose *{color:var(--block-info-text-color)}div.svelte-17qq50w{margin-bottom:var(--spacing-md)}span.has-info.svelte-zgrq3{margin-bottom:var(--spacing-xs)}span.svelte-zgrq3:not(.has-info){margin-bottom:var(--spacing-lg)}span.svelte-zgrq3{display:inline-block;position:relative;z-index:var(--layer-4);border:solid var(--block-title-border-width) var(--block-title-border-color);border-radius:var(--block-title-radius);background:var(--block-title-background-fill);padding:var(--block-title-padding);color:var(--block-title-text-color);font-weight:var(--block-title-text-weight);font-size:var(--block-title-text-size);line-height:var(--line-sm)}span[dir=rtl].svelte-zgrq3{display:block}.hide.svelte-zgrq3{margin:0;height:0}label.svelte-igqdol.svelte-igqdol{display:inline-flex;align-items:center;z-index:var(--layer-2);box-shadow:var(--block-label-shadow);border:var(--block-label-border-width) solid var(--block-label-border-color);border-top:none;border-left:none;border-radius:var(--block-label-radius);background:var(--block-label-background-fill);padding:var(--block-label-padding);pointer-events:none;color:var(--block-label-text-color);font-weight:var(--block-label-text-weight);font-size:var(--block-label-text-size);line-height:var(--line-sm)}.gr-group label.svelte-igqdol.svelte-igqdol{border-top-left-radius:0}label.float.svelte-igqdol.svelte-igqdol{position:absolute;top:var(--block-label-margin);left:var(--block-label-margin)}label.svelte-igqdol.svelte-igqdol:not(.float){position:static;margin-top:var(--block-label-margin);margin-left:var(--block-label-margin)}.hide.svelte-igqdol.svelte-igqdol{display:none}span.svelte-igqdol.svelte-igqdol{opacity:.8;margin-right:var(--size-2);width:calc(var(--block-label-text-size) - 1px);height:calc(var(--block-label-text-size) - 1px)}.hide-label.svelte-igqdol.svelte-igqdol{box-shadow:none;border-width:0;background:transparent;overflow:visible}label[dir=rtl].svelte-igqdol.svelte-igqdol{border:var(--block-label-border-width) solid var(--block-label-border-color);border-top:none;border-right:none;border-bottom-left-radius:var(--block-radius);border-bottom-right-radius:var(--block-label-radius);border-top-left-radius:var(--block-label-radius)}label[dir=rtl].svelte-igqdol span.svelte-igqdol{margin-left:var(--size-2);margin-right:0}.unstyled-link.svelte-151nsdd{all:unset;cursor:pointer}button.svelte-y0enk4{display:flex;justify-content:center;align-items:center;gap:1px;z-index:var(--layer-2);border-radius:var(--radius-xs);color:var(--block-label-text-color);border:1px solid var(--border-color);padding:var(--spacing-xxs)}button.svelte-y0enk4:hover{background-color:var(--background-fill-secondary)}button[disabled].svelte-y0enk4{opacity:.5;box-shadow:none}button[disabled].svelte-y0enk4:hover{cursor:not-allowed}.padded.svelte-y0enk4{background:var(--bg-color)}button.svelte-y0enk4:hover,button.highlight.svelte-y0enk4{cursor:pointer;color:var(--color-accent)}.padded.svelte-y0enk4:hover{color:var(--block-label-text-color)}span.svelte-y0enk4{padding:0 1px;font-size:10px}div.svelte-y0enk4{display:flex;align-items:center;justify-content:center;transition:filter .2s ease-in-out}.x-small.svelte-y0enk4{width:10px;height:10px}.small.svelte-y0enk4{width:14px;height:14px}.medium.svelte-y0enk4{width:20px;height:20px}.large.svelte-y0enk4{width:22px;height:22px}.pending.svelte-y0enk4{animation:svelte-y0enk4-flash .5s infinite}@keyframes svelte-y0enk4-flash{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.transparent.svelte-y0enk4{background:transparent;border:none;box-shadow:none}.empty.svelte-3w3rth{display:flex;justify-content:center;align-items:center;margin-top:calc(0px - var(--size-6));height:var(--size-full)}.icon.svelte-3w3rth{opacity:.5;height:var(--size-5);color:var(--body-text-color)}.small.svelte-3w3rth{min-height:calc(var(--size-32) - 20px)}.large.svelte-3w3rth{min-height:calc(var(--size-64) - 20px)}.unpadded_box.svelte-3w3rth{margin-top:0}.small_parent.svelte-3w3rth{min-height:100%!important}.dropdown-arrow.svelte-145leq6,.dropdown-arrow.svelte-ihhdbf{fill:currentColor}.circle.svelte-ihhdbf{fill:currentColor;opacity:.1}svg.svelte-pb9pol{animation:svelte-pb9pol-spin 1.5s linear infinite}@keyframes svelte-pb9pol-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}h2.svelte-1xg7h5n{font-size:var(--text-xl)!important}p.svelte-1xg7h5n,h2.svelte-1xg7h5n{white-space:pre-line}.wrap.svelte-1xg7h5n{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:var(--size-60);color:var(--block-label-text-color);line-height:var(--line-md);height:100%;padding-top:var(--size-3);text-align:center;margin:auto var(--spacing-lg)}.or.svelte-1xg7h5n{color:var(--body-text-color-subdued);display:flex}.icon-wrap.svelte-1xg7h5n{width:30px;margin-bottom:var(--spacing-lg)}@media (--screen-md){.wrap.svelte-1xg7h5n{font-size:var(--text-lg)}}.hovered.svelte-1xg7h5n{color:var(--color-accent)}div.svelte-q32hvf{border-top:1px solid transparent;display:flex;max-height:100%;justify-content:center;align-items:center;gap:var(--spacing-sm);height:auto;align-items:flex-end;color:var(--block-label-text-color);flex-shrink:0}.show_border.svelte-q32hvf{border-top:1px solid var(--block-border-color);margin-top:var(--spacing-xxl);box-shadow:var(--shadow-drop)}.source-selection.svelte-15ls1gu{display:flex;align-items:center;justify-content:center;border-top:1px solid var(--border-color-primary);width:100%;margin-left:auto;margin-right:auto;height:var(--size-10)}.icon.svelte-15ls1gu{width:22px;height:22px;margin:var(--spacing-lg) var(--spacing-xs);padding:var(--spacing-xs);color:var(--neutral-400);border-radius:var(--radius-md)}.selected.svelte-15ls1gu{color:var(--color-accent)}.icon.svelte-15ls1gu:hover,.icon.svelte-15ls1gu:focus{color:var(--color-accent)}.icon-button-wrapper.svelte-1h0hs6p{display:flex;flex-direction:row;align-items:center;justify-content:center;z-index:var(--layer-2);gap:var(--spacing-sm);box-shadow:var(--shadow-drop);border:1px solid var(--border-color-primary);background:var(--block-background-fill);padding:var(--spacing-xxs)}.icon-button-wrapper.hide-top-corner.svelte-1h0hs6p{border-top:none;border-right:none;border-radius:var(--block-label-right-radius)}.icon-button-wrapper.display-top-corner.svelte-1h0hs6p{border-radius:var(--radius-sm) 0 0 var(--radius-sm);top:var(--spacing-sm);right:-1px}.icon-button-wrapper.svelte-1h0hs6p:not(.top-panel){border:1px solid var(--border-color-primary);border-radius:var(--radius-sm)}.top-panel.svelte-1h0hs6p{position:absolute;top:var(--block-label-margin);right:var(--block-label-margin);margin:0}.icon-button-wrapper.svelte-1h0hs6p button{margin:var(--spacing-xxs);border-radius:var(--radius-xs);position:relative}.icon-button-wrapper.svelte-1h0hs6p a.download-link:not(:last-child),.icon-button-wrapper.svelte-1h0hs6p button:not(:last-child){margin-right:var(--spacing-xxs)}.icon-button-wrapper.svelte-1h0hs6p a.download-link:not(:last-child):not(.no-border *):after,.icon-button-wrapper.svelte-1h0hs6p button:not(:last-child):not(.no-border *):after{content:"";position:absolute;right:-4.5px;top:15%;height:70%;width:1px;background-color:var(--border-color-primary)}.icon-button-wrapper.svelte-1h0hs6p>*{height:100%}img.svelte-kxeri3{object-fit:cover}.image-container.svelte-x2tujq.svelte-x2tujq{height:100%;position:relative;min-width:var(--size-20)}.image-container.svelte-x2tujq button.svelte-x2tujq{width:var(--size-full);height:var(--size-full);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.image-frame.svelte-x2tujq img{width:var(--size-full);height:var(--size-full);object-fit:scale-down}.selectable.svelte-x2tujq.svelte-x2tujq{cursor:crosshair}.fullscreen-controls svg{position:relative;top:0}.image-container:fullscreen{background-color:#000;display:flex;justify-content:center;align-items:center}.image-container:fullscreen img{max-width:90vw;max-height:90vh;object-fit:scale-down}.image-frame.svelte-x2tujq.svelte-x2tujq{width:auto;height:100%;display:flex;align-items:center;justify-content:center}.overlay.svelte-1pwzuub{position:absolute;background-color:#0006;width:100%;height:100%}.hidden.svelte-1pwzuub{display:none}.load-wrap.svelte-1pwzuub{display:flex;justify-content:center;align-items:center;height:100%}.loader.svelte-1pwzuub{display:flex;position:relative;background-color:var(--border-color-accent-subdued);animation:svelte-1pwzuub-shadowPulse 2s linear infinite;box-shadow:-24px 0 var(--border-color-accent-subdued),24px 0 var(--border-color-accent-subdued);margin:var(--spacing-md);border-radius:50%;width:10px;height:10px;scale:.5}@keyframes svelte-1pwzuub-shadowPulse{33%{box-shadow:-24px 0 var(--border-color-accent-subdued),24px 0 #fff;background:#fff}66%{box-shadow:-24px 0 #fff,24px 0 #fff;background:var(--border-color-accent-subdued)}to{box-shadow:-24px 0 #fff,24px 0 var(--border-color-accent-subdued);background:#fff}}.gallery-container.svelte-15zxev2.svelte-15zxev2{position:relative;width:100%;height:100%}.preview.svelte-15zxev2.svelte-15zxev2{display:flex;position:absolute;flex-direction:column;z-index:var(--layer-2);border-radius:calc(var(--block-radius) - var(--block-border-width));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:var(--size-full);height:var(--size-full)}.preview.svelte-15zxev2.svelte-15zxev2:focus-visible{outline:none}.preview.minimal.svelte-15zxev2.svelte-15zxev2{width:fit-content;height:fit-content}.preview.svelte-15zxev2.svelte-15zxev2:before{content:"";position:absolute;z-index:var(--layer-below);background:var(--background-fill-primary);opacity:.9;width:var(--size-full);height:var(--size-full)}.fixed-height.svelte-15zxev2.svelte-15zxev2{min-height:var(--size-80);max-height:80vh}@media (--screen-xl){.fixed-height.svelte-15zxev2.svelte-15zxev2{min-height:450px}}.media-container.svelte-15zxev2.svelte-15zxev2{height:calc(100% - var(--size-14));width:100%;display:flex;align-items:center;justify-content:center;cursor:pointer}.media-container.svelte-15zxev2 img,.media-container.svelte-15zxev2 video{max-width:100%;max-height:100%;object-fit:contain}.thumbnails.svelte-15zxev2 img{object-fit:cover;width:var(--size-full);height:var(--size-full)}.thumbnails.svelte-15zxev2 svg{position:absolute;top:var(--size-2);left:var(--size-2);width:50%;height:50%;opacity:50%}.caption.svelte-15zxev2.svelte-15zxev2{padding:var(--size-2) var(--size-3);overflow:hidden;color:var(--block-label-text-color);font-weight:var(--weight-semibold);text-align:center;text-overflow:ellipsis;white-space:nowrap;align-self:center}.thumbnails.svelte-15zxev2.svelte-15zxev2{display:flex;position:absolute;bottom:0;justify-content:flex-start;align-items:center;gap:var(--spacing-lg);width:var(--size-full);height:var(--size-14);overflow-x:scroll}.thumbnail-item.svelte-15zxev2.svelte-15zxev2{--ring-color:transparent;position:relative;box-shadow:inset 0 0 0 1px var(--ring-color),var(--shadow-drop);border:1px solid var(--border-color-primary);border-radius:var(--button-small-radius);background:var(--background-fill-secondary);aspect-ratio:var(--ratio-square);width:var(--size-full);height:var(--size-full);overflow:clip}.thumbnail-item.svelte-15zxev2.svelte-15zxev2:hover{--ring-color:var(--color-accent);border-color:var(--color-accent);filter:brightness(1.1)}.thumbnail-item.selected.svelte-15zxev2.svelte-15zxev2{--ring-color:var(--color-accent);border-color:var(--color-accent)}.thumbnail-item.svelte-15zxev2 svg{position:absolute;top:50%;left:50%;width:50%;height:50%;opacity:50%;transform:translate(-50%,-50%)}.thumbnail-item.svelte-15zxev2 video{width:var(--size-full);height:var(--size-full);overflow:hidden;object-fit:cover}.thumbnail-small.svelte-15zxev2.svelte-15zxev2{flex:none;transform:scale(.9);transition:75ms;width:var(--size-9);height:var(--size-9)}.thumbnail-small.selected.svelte-15zxev2.svelte-15zxev2{--ring-color:var(--color-accent);transform:scale(1);border-color:var(--color-accent)}.grid-wrap.svelte-15zxev2.svelte-15zxev2{position:relative;padding:var(--size-2);overflow-y:auto}.grid-wrap.fixed-height.svelte-15zxev2.svelte-15zxev2{min-height:var(--size-80);max-height:80vh}.grid-container.svelte-15zxev2.svelte-15zxev2{display:grid;position:relative;grid-template-rows:repeat(var(--grid-rows),minmax(100px,1fr));grid-template-columns:repeat(var(--grid-cols),minmax(100px,1fr));grid-auto-rows:minmax(100px,1fr);gap:var(--spacing-lg)}.single-item-wrapper.svelte-15zxev2.svelte-15zxev2{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:var(--spacing-xxl);box-sizing:border-box}.single-item-wrapper.svelte-15zxev2 .gallery-item-with-name.svelte-15zxev2{width:100%;height:100%;max-width:min(300px,80vw);max-height:min(320px,calc(80vh - var(--size-4)));display:flex;flex-direction:column;align-items:center}.single-item-wrapper.svelte-15zxev2 .gallery-item.svelte-15zxev2{width:100%;height:100%;max-width:100%;max-height:100%}.single-item-wrapper.svelte-15zxev2 .thumbnail-item.thumbnail-lg.svelte-15zxev2{display:flex!important;align-items:center!important;justify-content:center!important}.single-item-wrapper.svelte-15zxev2 .thumbnail-filename.svelte-15zxev2{height:var(--size-4);line-height:var(--size-4)}.single-item-wrapper.svelte-15zxev2 .thumbnail-lg.svelte-15zxev2>img,.single-item-wrapper.svelte-15zxev2 .thumbnail-lg.svelte-15zxev2>video{object-fit:var(--object-fit)!important}.thumbnail-lg.svelte-15zxev2>img,.thumbnail-lg.svelte-15zxev2>video{width:var(--size-full);height:var(--size-full);overflow:hidden;object-fit:var(--object-fit)}.thumbnail-lg.svelte-15zxev2:hover .caption-label.svelte-15zxev2{opacity:.5}.caption-label.svelte-15zxev2.svelte-15zxev2{position:absolute;right:var(--block-label-margin);bottom:var(--block-label-margin);z-index:var(--layer-1);border-top:1px solid var(--border-color-primary);border-left:1px solid var(--border-color-primary);border-radius:var(--block-label-radius);background:var(--background-fill-secondary);padding:var(--block-label-padding);max-width:80%;overflow:hidden;font-size:var(--block-label-text-size);text-align:left;text-overflow:ellipsis;white-space:nowrap}.grid-wrap.minimal.svelte-15zxev2.svelte-15zxev2{padding:0}.gallery-item-with-name.svelte-15zxev2.svelte-15zxev2{display:flex;flex-direction:column;gap:var(--size-1);width:100%;height:100%}.thumbnail-filename.svelte-15zxev2.svelte-15zxev2{font-size:var(--text-xs);color:var(--body-text-color);text-align:center;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--size-1)}.gallery-item.svelte-15zxev2.svelte-15zxev2{position:relative;width:100%;height:100%}.metadata-popup.svelte-15zxev2.svelte-15zxev2{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--background-fill-primary, white);border:1px solid var(--border-color-primary);box-shadow:0 4px 8px #0003;z-index:1000;border-radius:8px;max-width:min(90%,600px);max-height:min(50vh,calc(100% - 2rem));min-height:200px;display:flex;flex-direction:column;pointer-events:auto}.popup-content.svelte-15zxev2.svelte-15zxev2{padding:1rem;display:flex;flex-direction:column;width:100%;box-sizing:border-box;overflow-y:auto;position:relative}.close-button.svelte-15zxev2.svelte-15zxev2{position:absolute;top:.5rem;right:.5rem;background:none;border:none;font-size:1.25rem;cursor:pointer;z-index:20;color:var(--body-text-color);padding:.25rem;line-height:1;width:24px;height:24px;text-align:center}.popup-title.svelte-15zxev2.svelte-15zxev2{font-weight:700;margin:0 0 1rem;flex-shrink:0;padding-right:2.5rem}.metadata-table-container.svelte-15zxev2.svelte-15zxev2{flex-grow:1;overflow-y:auto;max-height:calc(100% - 5rem);min-height:0;margin-bottom:1rem}.metadata-table.svelte-15zxev2.svelte-15zxev2{width:100%;border-collapse:collapse;table-layout:auto}.metadata-label.svelte-15zxev2.svelte-15zxev2{background:var(--background-fill-secondary, #f5f5f5);padding:.5rem;font-weight:700;text-align:left;vertical-align:top;width:45%}.metadata-value.svelte-15zxev2.svelte-15zxev2{text-align:left;padding:.5rem;white-space:pre-wrap;word-break:break-all;vertical-align:top}.load-metadata-button.svelte-15zxev2.svelte-15zxev2{margin-top:1rem;padding:.5rem 1rem;background-color:var(--button-primary-border-color);color:var(--button-primary-text-color);border:none;border-radius:4px;cursor:pointer;align-self:center;flex-shrink:0}.load-metadata-button.svelte-15zxev2.svelte-15zxev2:hover{background-color:var(--button-primary-border-color)}.no-metadata-message.svelte-15zxev2.svelte-15zxev2{flex-grow:1;display:flex;align-items:center;justify-content:center;color:var(--body-text-color-subdued)}svg.svelte-43sxxs.svelte-43sxxs{width:var(--size-20);height:var(--size-20)}svg.svelte-43sxxs path.svelte-43sxxs{fill:var(--loader-color)}div.svelte-43sxxs.svelte-43sxxs{z-index:var(--layer-2)}.margin.svelte-43sxxs.svelte-43sxxs{margin:var(--size-4)}.wrap.svelte-vusapu.svelte-vusapu{display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:var(--layer-3);transition:opacity .1s ease-in-out;border-radius:var(--block-radius);background:var(--block-background-fill);padding:0 var(--size-6);overflow:hidden;pointer-events:none}.wrap.center.svelte-vusapu.svelte-vusapu{top:0;right:0;left:0}.wrap.default.svelte-vusapu.svelte-vusapu{top:0;right:0;bottom:0;left:0}.hide.svelte-vusapu.svelte-vusapu{opacity:0;pointer-events:none}.generating.svelte-vusapu.svelte-vusapu{animation:svelte-vusapu-pulseStart 1s cubic-bezier(.4,0,.6,1),svelte-vusapu-pulse 2s cubic-bezier(.4,0,.6,1) 1s infinite;border:2px solid var(--color-accent);background:transparent;z-index:var(--layer-1);pointer-events:none}.translucent.svelte-vusapu.svelte-vusapu{background:none}@keyframes svelte-vusapu-pulseStart{0%{opacity:0}to{opacity:1}}@keyframes svelte-vusapu-pulse{0%,to{opacity:1}50%{opacity:.5}}.loading.svelte-vusapu.svelte-vusapu{z-index:var(--layer-2);color:var(--body-text-color)}.eta-bar.svelte-vusapu.svelte-vusapu{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left;opacity:.8;z-index:var(--layer-1);transition:10ms;background:var(--background-fill-secondary)}.progress-bar-wrap.svelte-vusapu.svelte-vusapu{border:1px solid var(--border-color-primary);background:var(--background-fill-primary);width:55.5%;height:var(--size-4)}.progress-bar.svelte-vusapu.svelte-vusapu{transform-origin:left;background-color:var(--loader-color);width:var(--size-full);height:var(--size-full)}.progress-level.svelte-vusapu.svelte-vusapu{display:flex;flex-direction:column;align-items:center;gap:1;z-index:var(--layer-2);width:var(--size-full)}.progress-level-inner.svelte-vusapu.svelte-vusapu{margin:var(--size-2) auto;color:var(--body-text-color);font-size:var(--text-sm);font-family:var(--font-mono)}.meta-text.svelte-vusapu.svelte-vusapu{position:absolute;bottom:0;right:0;z-index:var(--layer-2);padding:var(--size-1) var(--size-2);font-size:var(--text-sm);font-family:var(--font-mono)}.meta-text-center.svelte-vusapu.svelte-vusapu{display:flex;position:absolute;top:0;right:0;justify-content:center;align-items:center;transform:translateY(var(--size-6));z-index:var(--layer-2);padding:var(--size-1) var(--size-2);font-size:var(--text-sm);font-family:var(--font-mono);text-align:center}.error.svelte-vusapu.svelte-vusapu{box-shadow:var(--shadow-drop);border:solid 1px var(--error-border-color);border-radius:var(--radius-full);background:var(--error-background-fill);padding-right:var(--size-4);padding-left:var(--size-4);color:var(--error-text-color);font-weight:var(--weight-semibold);font-size:var(--text-lg);line-height:var(--line-lg);font-family:var(--font)}.validation-error.svelte-vusapu.svelte-vusapu{pointer-events:auto;color:var(--error-text-color);font-weight:var(--weight-semibold);font-size:var(--text-lg);line-height:var(--line-lg);font-family:var(--font);position:absolute;background:var(--error-background-fill);top:0;right:0;z-index:var(--layer-3);padding:var(--size-1) var(--size-2);font-size:var(--text-md);text-align:center;border-bottom-left-radius:var(--radius-sm);border-bottom:1px solid var(--error-border-color);border-left:1px solid var(--error-border-color);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-xl)}.minimal.svelte-vusapu.svelte-vusapu{pointer-events:none}.minimal.svelte-vusapu .progress-text.svelte-vusapu{background:var(--block-background-fill)}.border.svelte-vusapu.svelte-vusapu{border:1px solid var(--border-color-primary)}.clear-status.svelte-vusapu.svelte-vusapu{position:absolute;display:flex;top:var(--size-2);right:var(--size-2);justify-content:flex-end;gap:var(--spacing-sm);z-index:var(--layer-1)}.toast-body.svelte-syezpc{display:flex;position:relative;right:0;left:0;align-items:center;margin:var(--size-6) var(--size-4);margin:auto;border-radius:var(--container-radius);overflow:hidden;pointer-events:auto}.toast-body.error.svelte-syezpc{border:1px solid var(--color-red-700);background:var(--color-red-50)}.dark .toast-body.error.svelte-syezpc{border:1px solid var(--color-red-500);background-color:var(--color-grey-950)}.toast-body.warning.svelte-syezpc{border:1px solid var(--color-yellow-700);background:var(--color-yellow-50)}.dark .toast-body.warning.svelte-syezpc{border:1px solid var(--color-yellow-500);background-color:var(--color-grey-950)}.toast-body.info.svelte-syezpc{border:1px solid var(--color-grey-700);background:var(--color-grey-50)}.dark .toast-body.info.svelte-syezpc{border:1px solid var(--color-grey-500);background-color:var(--color-grey-950)}.toast-body.success.svelte-syezpc{border:1px solid var(--color-green-700);background:var(--color-green-50)}.dark .toast-body.success.svelte-syezpc{border:1px solid var(--color-green-500);background-color:var(--color-grey-950)}.toast-title.svelte-syezpc{display:flex;align-items:center;font-weight:var(--weight-bold);font-size:var(--text-lg);line-height:var(--line-sm)}.toast-title.error.svelte-syezpc{color:var(--color-red-700)}.dark .toast-title.error.svelte-syezpc{color:var(--color-red-50)}.toast-title.warning.svelte-syezpc{color:var(--color-yellow-700)}.dark .toast-title.warning.svelte-syezpc{color:var(--color-yellow-50)}.toast-title.info.svelte-syezpc{color:var(--color-grey-700)}.dark .toast-title.info.svelte-syezpc{color:var(--color-grey-50)}.toast-title.success.svelte-syezpc{color:var(--color-green-700)}.dark .toast-title.success.svelte-syezpc{color:var(--color-green-50)}.toast-close.svelte-syezpc{margin:0 var(--size-3);border-radius:var(--size-3);padding:0px var(--size-1-5);font-size:var(--size-5);line-height:var(--size-5)}.toast-close.error.svelte-syezpc{color:var(--color-red-700)}.dark .toast-close.error.svelte-syezpc{color:var(--color-red-500)}.toast-close.warning.svelte-syezpc{color:var(--color-yellow-700)}.dark .toast-close.warning.svelte-syezpc{color:var(--color-yellow-500)}.toast-close.info.svelte-syezpc{color:var(--color-grey-700)}.dark .toast-close.info.svelte-syezpc{color:var(--color-grey-500)}.toast-close.success.svelte-syezpc{color:var(--color-green-700)}.dark .toast-close.success.svelte-syezpc{color:var(--color-green-500)}.toast-text.svelte-syezpc{font-size:var(--text-lg);word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.toast-text.error.svelte-syezpc{color:var(--color-red-700)}.dark .toast-text.error.svelte-syezpc{color:var(--color-red-50)}.toast-text.warning.svelte-syezpc{color:var(--color-yellow-700)}.dark .toast-text.warning.svelte-syezpc{color:var(--color-yellow-50)}.toast-text.info.svelte-syezpc{color:var(--color-grey-700)}.dark .toast-text.info.svelte-syezpc{color:var(--color-grey-50)}.toast-text.success.svelte-syezpc{color:var(--color-green-700)}.dark .toast-text.success.svelte-syezpc{color:var(--color-green-50)}.toast-details.svelte-syezpc{margin:var(--size-3) var(--size-3) var(--size-3) 0;width:100%}.toast-icon.svelte-syezpc{display:flex;position:absolute;position:relative;flex-shrink:0;justify-content:center;align-items:center;margin:var(--size-2);border-radius:var(--radius-full);padding:var(--size-1);padding-left:calc(var(--size-1) - 1px);width:35px;height:35px}.toast-icon.error.svelte-syezpc{color:var(--color-red-700)}.dark .toast-icon.error.svelte-syezpc{color:var(--color-red-500)}.toast-icon.warning.svelte-syezpc{color:var(--color-yellow-700)}.dark .toast-icon.warning.svelte-syezpc{color:var(--color-yellow-500)}.toast-icon.info.svelte-syezpc{color:var(--color-grey-700)}.dark .toast-icon.info.svelte-syezpc{color:var(--color-grey-500)}.toast-icon.success.svelte-syezpc{color:var(--color-green-700)}.dark .toast-icon.success.svelte-syezpc{color:var(--color-green-500)}@keyframes svelte-syezpc-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.timer.svelte-syezpc{position:absolute;bottom:0;left:0;transform-origin:0 0;animation:svelte-syezpc-countdown 10s linear forwards;width:100%;height:var(--size-1)}.timer.error.svelte-syezpc{background:var(--color-red-700)}.dark .timer.error.svelte-syezpc{background:var(--color-red-500)}.timer.warning.svelte-syezpc{background:var(--color-yellow-700)}.dark .timer.warning.svelte-syezpc{background:var(--color-yellow-500)}.timer.info.svelte-syezpc{background:var(--color-grey-700)}.dark .timer.info.svelte-syezpc{background:var(--color-grey-500)}.timer.success.svelte-syezpc{background:var(--color-green-700)}.dark .timer.success.svelte-syezpc{background:var(--color-green-500)}.hidden.svelte-syezpc{display:none}.toast-text.svelte-syezpc a{text-decoration:underline}.toast-wrap.svelte-je2isz{--toast-top:var(--size-4);display:flex;position:fixed;top:calc(var(--toast-top) + var(--size-4));right:var(--size-4);flex-direction:column;align-items:end;gap:var(--size-2);z-index:var(--layer-top);width:calc(100% - var(--size-8))}@media (--screen-sm){.toast-wrap.svelte-je2isz{width:calc(var(--size-96) + var(--size-10))}}.streaming-bar.svelte-ga0jj6{position:absolute;bottom:0;left:0;right:0;height:4px;background-color:var(--primary-600);animation:svelte-ga0jj6-countdown linear forwards;z-index:1}@keyframes svelte-ga0jj6-countdown{0%{transform:translate(0)}to{transform:translate(-100%)}}:global(*::-webkit-scrollbar){width:8px;height:8px;background-color:transparent}:global(*::-webkit-scrollbar-track){background:transparent;border-radius:10px}:global(*::-webkit-scrollbar-thumb){background-color:#8886;border-radius:10px;border:2px solid transparent;background-clip:content-box}:global(*::-webkit-scrollbar-thumb:hover){background-color:#888888b3}:global(html){scrollbar-width:thin;scrollbar-color:rgba(136,136,136,.7) transparent}.container.svelte-1onbytl.svelte-1onbytl{border-radius:var(--radius-lg);overflow:hidden}.container.selected.svelte-1onbytl.svelte-1onbytl{border:2px solid var(--border-color-accent)}.images-wrapper.svelte-1onbytl.svelte-1onbytl{display:flex;gap:var(--spacing-sm)}.container.table.svelte-1onbytl .images-wrapper.svelte-1onbytl{flex-direction:row;align-items:center;padding:var(--spacing-sm);border:1px solid var(--border-color-primary);border-radius:var(--radius-lg);background:var(--background-fill-secondary)}.container.gallery.svelte-1onbytl .images-wrapper.svelte-1onbytl{flex-direction:row;gap:0}.image-container.svelte-1onbytl.svelte-1onbytl{position:relative;flex-shrink:0}.container.table.svelte-1onbytl .image-container.svelte-1onbytl{width:var(--size-12);height:var(--size-12)}.container.gallery.svelte-1onbytl .image-container.svelte-1onbytl{width:var(--size-20);height:var(--size-20);margin-left:calc(-1 * var(--size-8))}.container.gallery.svelte-1onbytl .image-container.svelte-1onbytl:first-child{margin-left:0}.more-indicator.svelte-1onbytl.svelte-1onbytl{display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);font-weight:700;color:var(--border-color-primary)}.container.table.svelte-1onbytl .more-indicator.svelte-1onbytl{width:var(--size-12);height:var(--size-12)}.container.gallery.svelte-1onbytl .more-indicator.svelte-1onbytl{width:var(--size-20);height:var(--size-20);margin-left:calc(-1 * var(--size-8));margin-right:calc(-1 * var(--size-6))}.image-container.svelte-1onbytl img.svelte-1onbytl,.image-container.svelte-1onbytl video.svelte-1onbytl{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md)}.caption.svelte-1onbytl.svelte-1onbytl{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;padding:var(--spacing-xs);font-size:var(--text-xs);text-align:center;border-radius:0 0 var(--radius-md) var(--radius-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.container.table.svelte-1onbytl .caption.svelte-1onbytl{display:none}
src/frontend/shared/Gallery.svelte CHANGED
@@ -660,7 +660,7 @@
660
  */
661
  .fixed-height {
662
  min-height: var(--size-80);
663
- max-height: 65vh;
664
  }
665
 
666
  @media (--screen-xl) {
@@ -807,7 +807,7 @@
807
 
808
  .grid-wrap.fixed-height {
809
  min-height: var(--size-80);
810
- max-height: 65vh;
811
  }
812
 
813
  /**
 
660
  */
661
  .fixed-height {
662
  min-height: var(--size-80);
663
+ max-height: 80vh;
664
  }
665
 
666
  @media (--screen-xl) {
 
807
 
808
  .grid-wrap.fixed-height {
809
  min-height: var(--size-80);
810
+ max-height: 80vh;
811
  }
812
 
813
  /**
src/pyproject.toml CHANGED
@@ -8,7 +8,7 @@ build-backend = "hatchling.build"
8
 
9
  [project]
10
  name = "gradio_mediagallery"
11
- version = "0.0.7"
12
  description = "Media Gallery Explorer with Metadata Image Extraction for Gradio UI"
13
  readme = "README.md"
14
  license = "Apache-2.0"
 
8
 
9
  [project]
10
  name = "gradio_mediagallery"
11
+ version = "0.0.8"
12
  description = "Media Gallery Explorer with Metadata Image Extraction for Gradio UI"
13
  readme = "README.md"
14
  license = "Apache-2.0"