!(
  /*! License details at fancyapps.com/license */ (function (e, t) {
    "object" == typeof exports && "u" > typeof module
      ? t(exports)
      : "function" == typeof define && define.amd
        ? define(["exports"], t)
        : t(
            ((e = "u" > typeof globalThis ? globalThis : e || self).window =
              e.window || {}),
          );
  })(this, function (e) {
    "use strict";
    let t,
      n,
      o,
      i,
      r,
      l,
      a = (e) =>
        "object" == typeof e &&
        null !== e &&
        e.constructor === Object &&
        "[object Object]" === Object.prototype.toString.call(e),
      s = (e) => "string" == typeof e,
      c = (e) => e && null !== e && e instanceof Element && "nodeType" in e,
      u = function (e) {
        var t = new DOMParser().parseFromString(e, "text/html").body;
        if (t.childElementCount > 1) {
          for (var n = document.createElement("div"); t.firstChild; )
            n.appendChild(t.firstChild);
          return n;
        }
        let o = t.firstChild;
        if (o && !(o instanceof HTMLElement)) {
          var n = document.createElement("div");
          return (n.appendChild(o), n);
        }
        return o;
      },
      d = function (e) {
        if (!(e && e instanceof Element && e.offsetParent)) return !1;
        let t = !1,
          n = !1;
        if (e.scrollWidth > e.clientWidth) {
          let n = window.getComputedStyle(e).overflowX,
            o = -1 !== n.indexOf("hidden"),
            i = -1 !== n.indexOf("clip"),
            r = -1 !== n.indexOf("visible");
          t = !o && !i && !r;
        }
        if (e.scrollHeight > e.clientHeight) {
          let t = window.getComputedStyle(e).overflowY,
            o = -1 !== t.indexOf("hidden"),
            i = -1 !== t.indexOf("clip"),
            r = -1 !== t.indexOf("visible");
          n = !o && !i && !r;
        }
        return t || n;
      },
      f = function (e, t) {
        return !e || e === document.body || (t && e === t)
          ? null
          : d(e)
            ? e
            : f(e.parentElement, t);
      },
      g = (
        e = !0,
        t = "--f-scrollbar-compensate",
        n = "--f-body-margin",
        o = "hide-scrollbar",
      ) => {
        let i = document,
          r = i.body,
          l = i.documentElement;
        if (e) {
          if (r.classList.contains(o)) return;
          let e = window.innerWidth - l.getBoundingClientRect().width;
          (e < 0 && (e = 0), l.style.setProperty(t, `${e}px`));
          let i = parseFloat(window.getComputedStyle(r).marginRight);
          (i && r.style.setProperty(n, `${i}px`), r.classList.add(o));
        } else
          (r.classList.remove(o),
            r.style.setProperty(n, ""),
            i.documentElement.style.setProperty(t, ""));
      },
      m = (e, ...t) => {
        let n = t.length;
        for (let o = 0; o < n; o++)
          Object.entries(t[o] || {}).forEach(([t, n]) => {
            let o = Array.isArray(n) ? [] : {};
            (e[t] || Object.assign(e, { [t]: o }),
              a(n)
                ? Object.assign(e[t], m(e[t], n))
                : Array.isArray(n)
                  ? Object.assign(e, { [t]: [...n] })
                  : Object.assign(e, { [t]: n }));
          });
        return e;
      };
    function p() {
      return !!(
        "u" > typeof window &&
        window.document &&
        window.document.createElement
      );
    }
    let h = function (e = 0, t = 0, n = 0) {
        return Math.max(Math.min(t, n), e);
      },
      y = function (e = 0, t = 0, n = 0, o = 0, i = 0, r = !1) {
        let l = ((e - t) / (n - t)) * (i - o) + o;
        return r ? (o < i ? h(o, l, i) : h(i, l, o)) : l;
      },
      v = (e, t = "") => {
        e &&
          e.classList &&
          t.split(" ").forEach((t) => {
            t && e.classList.add(t);
          });
      },
      b = (e, t = "") => {
        e &&
          e.classList &&
          t.split(" ").forEach((t) => {
            t && e.classList.remove(t);
          });
      },
      E = (e, t = "", n) => {
        e &&
          e.classList &&
          t.split(" ").forEach((t) => {
            t && e.classList.toggle(t, n || !1);
          });
      };
    function w(e) {
      return a(e) || Array.isArray(e);
    }
    function x(e, t) {
      let n = Object.keys(e),
        o = Object.keys(t);
      return (
        n.length === o.length &&
        n.every((n) => {
          let o = e[n],
            i = t[n];
          return "function" == typeof o
            ? `${o}` == `${i}`
            : w(o) && w(i)
              ? x(o, i)
              : o === i;
        })
      );
    }
    let M = (1 / 60) * 3e3,
      L = function (e) {
        for (let t of H) t.getState() === S.Running && t.tick(V ? e - V : 0);
        ((V = e), (D = window.requestAnimationFrame(L)));
      },
      S =
        (((T = {})[(T.Initializing = 0)] = "Initializing"),
        (T[(T.Running = 1)] = "Running"),
        (T[(T.Paused = 2)] = "Paused"),
        (T[(T.Completed = 3)] = "Completed"),
        (T[(T.Destroyed = 4)] = "Destroyed"),
        T);
    var T,
      R,
      P,
      A,
      C,
      O,
      I,
      z,
      k,
      $,
      F =
        (((R = F || {})[(R.Spring = 0)] = "Spring"),
        (R[(R.Ease = 1)] = "Ease"),
        R);
    let _ =
        (((P = {})[(P.Loop = 0)] = "Loop"),
        (P[(P.Reverse = 1)] = "Reverse"),
        P),
      H = new Set(),
      D = null,
      V = 0;
    function j() {
      let e = S.Initializing,
        t = F.Ease,
        n = 0,
        o = 0,
        i = j.Easings.Linear,
        r = 500,
        l = 0,
        a = 0,
        s = 0,
        c = 0,
        u = 1 / 0,
        d = 0.01,
        f = 0.01,
        g = !1,
        m = {},
        p = null,
        y = {},
        v = {},
        b = {},
        E = 0,
        w = 0,
        T = _.Loop,
        R = j.Easings.Linear,
        P = new Map();
      function A(e, ...t) {
        for (let n of P.get(e) || []) n(...t);
      }
      function C(e) {
        return (
          (o = 0),
          e
            ? (p = setTimeout(() => {
                O();
              }, e))
            : O(),
          z
        );
      }
      function O() {
        ((e = S.Running), A("start", y, v));
      }
      function I() {
        if (((e = S.Completed), (b = {}), A("end", y), e === S.Completed))
          if (n < E) {
            if ((n++, T === _.Reverse)) {
              let e = { ...m };
              ((m = { ...v }), (v = e));
            }
            C(w);
          } else n = 0;
        return z;
      }
      let z = {
        getState: function () {
          return e;
        },
        easing: function (e) {
          return ((i = e), (t = F.Ease), (b = {}), z);
        },
        duration: function (e) {
          return ((r = e), z);
        },
        spring: function (e = {}) {
          t = F.Spring;
          let {
            velocity: n,
            mass: o,
            tension: i,
            friction: r,
            restDelta: m,
            restSpeed: p,
            maxSpeed: h,
            clamp: y,
          } = {
            velocity: 0,
            mass: 1,
            tension: 170,
            friction: 26,
            restDelta: 0.1,
            restSpeed: 0.1,
            maxSpeed: 1 / 0,
            clamp: !0,
            ...e,
          };
          return (
            (l = n),
            (a = o),
            (s = i),
            (c = r),
            (f = m),
            (d = p),
            (u = h),
            (g = y),
            (b = {}),
            z
          );
        },
        isRunning: function () {
          return e === S.Running;
        },
        isSpring: function () {
          return t === F.Spring;
        },
        from: function (e) {
          return ((y = { ...e }), z);
        },
        to: function (e) {
          return ((v = e), z);
        },
        repeat: function (e, t = 0, n = _.Loop, o) {
          return ((E = e), (w = t), (T = n), (R = o || i), z);
        },
        on: function (e, t) {
          return (P.set(e, [...(P.get(e) || []), t]), z);
        },
        off: function (e, t) {
          return (
            P.has(e) &&
              P.set(
                e,
                P.get(e).filter((e) => e !== t),
              ),
            z
          );
        },
        start: function (t) {
          return (
            x(y, v) ||
              ((e = S.Initializing),
              (m = { ...y }),
              H.add(this),
              D || (D = window.requestAnimationFrame(L)),
              C(t)),
            z
          );
        },
        pause: function () {
          return (
            p && (clearTimeout(p), (p = null)),
            e === S.Running && ((e = S.Paused), A("pause", y)),
            z
          );
        },
        end: I,
        tick: function (n) {
          (n > M && (n = M), (o += n));
          let p = 0,
            E = !1;
          if (e !== S.Running) return z;
          if (t === F.Ease) {
            E = 1 === (p = h(0, o / r, 1));
            let e = T === _.Reverse ? R : i;
            for (let t in y) y[t] = m[t] + (v[t] - m[t]) * e(p);
          }
          if (t === F.Spring) {
            let e = 0.001 * n,
              t = 0;
            for (let n in y) {
              let o = v[n],
                i = y[n];
              if (
                !("number" == typeof o && !isNaN(o)) ||
                !("number" == typeof i && !isNaN(i))
              )
                continue;
              if (Math.abs(o - i) <= f) {
                ((y[n] = o), (b[n] = 0));
                continue;
              }
              b[n] ||
                ("object" == typeof l && "number" == typeof l[n]
                  ? (b[n] = l[n])
                  : "number" == typeof l
                    ? (b[n] = l)
                    : (b[n] = 0));
              let r = b[n],
                m = (r = h(-1 * Math.abs(u), r, Math.abs(u))) * a * c,
                p = Math.abs(o - i) * s;
              ((r += (((i > o ? -1 : 1) * p - m) / a) * e), (i += r * e));
              let E = y[n] > o ? i < o : i > o,
                w = Math.abs(r) < d && Math.abs(o - i) <= f;
              (g && E && (w = !0),
                w ? ((i = o), (r = 0)) : t++,
                (y[n] = i),
                (b[n] = r));
            }
            E = !t;
          }
          let w = { ...v };
          return (
            A("step", y, m, v, p),
            E && e === S.Running && x(v, w) && ((e = S.Completed), I()),
            z
          );
        },
        getStartValues: function () {
          return m;
        },
        getCurrentValues: function () {
          return y;
        },
        getCurrentVelocities: function () {
          return b;
        },
        getEndValues: function () {
          return v;
        },
        destroy: function () {
          ((e = S.Destroyed),
            p && (clearTimeout(p), (p = null)),
            (m = y = v = {}),
            H.delete(this));
        },
      };
      return z;
    }
    function q(e) {
      return "u" > typeof TouchEvent && e instanceof TouchEvent;
    }
    function N(e, t) {
      let n = [];
      for (let o of q(e)
        ? e[t]
        : e instanceof MouseEvent &&
            ("changedTouches" === t || "mouseup" !== e.type)
          ? [e]
          : [])
        n.push({ x: o.clientX, y: o.clientY, ts: Date.now() });
      return n;
    }
    function B(e) {
      return N(e, "touches");
    }
    function W(e) {
      return N(e, "targetTouches");
    }
    function Z(e) {
      return N(e, "changedTouches");
    }
    function G(e) {
      let t = e[0],
        n = e[1] || t;
      return { x: (t.x + n.x) / 2, y: (t.y + n.y) / 2, ts: n.ts };
    }
    function U(e) {
      let t = e[0],
        n = e[1] || e[0];
      return t && n
        ? -1 * Math.sqrt((n.x - t.x) * (n.x - t.x) + (n.y - t.y) * (n.y - t.y))
        : 0;
    }
    ((j.destroy = () => {
      for (let e of H) e.destroy();
      D && (cancelAnimationFrame(D), (D = null));
    }),
      (j.Easings = {
        Linear: function (e) {
          return e;
        },
        EaseIn: function (e) {
          return 0 === e ? 0 : Math.pow(2, 10 * e - 10);
        },
        EaseOut: function (e) {
          return 1 === e ? 1 : 1 - Math.pow(2, -10 * e);
        },
        EaseInOut: function (e) {
          return 0 === e
            ? 0
            : 1 === e
              ? 1
              : e < 0.5
                ? Math.pow(2, 20 * e - 10) / 2
                : (2 - Math.pow(2, -20 * e + 10)) / 2;
        },
      }));
    let X = (e) => {
        e.cancelable && e.preventDefault();
      },
      Y = { passive: !1 },
      K = {
        panThreshold: 5,
        swipeThreshold: 3,
        ignore: [
          "textarea",
          "input",
          "select",
          "[contenteditable]",
          "[data-selectable]",
          "[data-draggable]",
        ],
      },
      J = !1,
      Q = !0,
      ee = (e, t) => {
        let n,
          o,
          i,
          r,
          l,
          a = { ...K, ...t },
          s = [],
          c = [],
          u = [],
          d = !1,
          f = !1,
          g = !1,
          m = !1,
          p = 0,
          h = 0,
          y = 0,
          v = 0,
          b = 0,
          E = 0,
          w = 0,
          x = 0,
          M = 0,
          L = [],
          S = new Map();
        function T(e) {
          let t = U(c),
            i = U(u),
            r = Math.abs(w) > Math.abs(x) ? w : x,
            a = {
              srcEvent: l,
              isPanRecognized: d,
              isSwipeRecognized: f,
              firstTouch: s,
              previousTouch: u,
              currentTouch: c,
              deltaX: y,
              deltaY: v,
              offsetX: b,
              offsetY: E,
              velocityX: w,
              velocityY: x,
              velocity: r,
              angle: M,
              axis: o,
              scale: t && i ? t / i : 0,
              center: n,
            };
          for (let t of S.get(e) || []) t(a);
        }
        function R(e) {
          let t = e.target,
            n = e.composedPath()[0],
            o = a.ignore.join(","),
            i = (e) =>
              e && e instanceof HTMLElement && (e.matches(o) || e.closest(o));
          if (i(t) || i(n)) return !1;
        }
        function P(e) {
          let t = Date.now();
          if (
            ((L = L.filter((e) => !e.ts || e.ts > t - 100)),
            e && L.push(e),
            (w = 0),
            (x = 0),
            L.length > 3)
          ) {
            let e = L[0],
              t = L[L.length - 1];
            if (e && t) {
              let n = t.x - e.x,
                o = t.y - e.y,
                i = e.ts && t.ts ? t.ts - e.ts : 0;
              i > 0 &&
                ((w = Math.abs(n) > 3 ? n / (i / 30) : 0),
                (x = Math.abs(o) > 3 ? o / (i / 30) : 0));
            }
          }
        }
        function A(e) {
          if (!1 === R(e)) return;
          if ("u" > typeof MouseEvent && e instanceof MouseEvent) {
            if (J) return;
          } else J = !0;
          if ("u" > typeof MouseEvent && e instanceof MouseEvent) {
            if (!e.buttons || 0 !== e.button) return;
            X(e);
          }
          (e instanceof MouseEvent &&
            (window.addEventListener("mousemove", C),
            window.addEventListener("mouseup", O)),
            window.addEventListener("blur", I),
            (l = e),
            (s = [...(c = W(e))]),
            (u = []),
            (h = c.length),
            (n = G(c)),
            1 === h && ((d = !1), (f = !1), (g = !1)),
            h && P(G(c)));
          let t = Date.now(),
            o = t - (p || t);
          ((m = o > 0 && o <= 250 && 1 === h),
            (p = t),
            clearTimeout(i),
            T("start"));
        }
        function C(e) {
          if (!s.length || e.defaultPrevented || !1 === R(e)) return;
          ((l = e), (u = [...c]), (c = B(e)));
          let t = G(u),
            i = G(B(e));
          if (
            (P(i),
            (h = c.length),
            (n = i),
            u.length === c.length
              ? ((y = i.x - t.x), (v = i.y - t.y))
              : ((y = 0), (v = 0)),
            s.length)
          ) {
            let e = G(s);
            ((b = i.x - e.x), (E = i.y - e.y));
          }
          (c.length > 1 &&
            Math.abs(U(c) - U(u)) >= 0.1 &&
            ((g = !0), T("pinch")),
            !d &&
              (d =
                Math.abs(b) >= a.panThreshold ||
                Math.abs(E) >= a.panThreshold) &&
              ((Q = !1),
              clearTimeout(r),
              (r = void 0),
              (o =
                (M = Math.abs((180 * Math.atan2(E, b)) / Math.PI)) > 45 &&
                M < 135
                  ? "y"
                  : "x"),
              (s = [...c]),
              (u = [...c]),
              (b = 0),
              (E = 0),
              (y = 0),
              (v = 0),
              window.getSelection()?.removeAllRanges(),
              T("panstart")),
            d && (y || v) && T("pan"),
            T("move"));
        }
        function O(e) {
          if (((l = e), !s.length)) return;
          let t = W(e),
            o = Z(e);
          if (
            ((h = t.length),
            (n = G(o)),
            o.length && P(G(o)),
            (u = [...c]),
            (c = [...t]),
            (s = [...t]),
            h > 0)
          )
            (T("end"), (d = !1), (f = !1), (L = []));
          else {
            let e = a.swipeThreshold;
            ((Math.abs(w) > e || Math.abs(x) > e) && (f = !0),
              d && T("panend"),
              f && T("swipe"),
              d ||
                f ||
                g ||
                (T("tap"),
                m
                  ? T("doubleTap")
                  : (i = setTimeout(function () {
                      T("singleTap");
                    }, 250))),
              T("end"),
              z());
          }
        }
        function I() {
          (clearTimeout(i), z(), d && T("panend"), T("end"));
        }
        function z() {
          ((J = !1),
            (d = !1),
            (f = !1),
            (m = !1),
            (h = 0),
            (L = []),
            (c = []),
            (u = []),
            (s = []),
            (y = 0),
            (v = 0),
            (b = 0),
            (E = 0),
            (w = 0),
            (x = 0),
            (M = 0),
            (o = void 0),
            window.removeEventListener("mousemove", C),
            window.removeEventListener("mouseup", O),
            window.removeEventListener("blur", I),
            Q ||
              r ||
              (r = setTimeout(() => {
                ((Q = !0), (r = void 0));
              }, 100)));
        }
        function k(e) {
          let t = e.target;
          ((J = !1),
            t && !e.defaultPrevented && (Q || (X(e), e.stopPropagation())));
        }
        let $ = {
          init: function () {
            return (
              e &&
                (e.addEventListener("click", k, Y),
                e.addEventListener("mousedown", A, Y),
                e.addEventListener("touchstart", A, Y),
                e.addEventListener("touchmove", C, Y),
                e.addEventListener("touchend", O),
                e.addEventListener("touchcancel", O)),
              $
            );
          },
          on: function (e, t) {
            return (S.set(e, [...(S.get(e) || []), t]), $);
          },
          off: function (e, t) {
            return (
              S.has(e) &&
                S.set(
                  e,
                  S.get(e).filter((e) => e !== t),
                ),
              $
            );
          },
          isPointerDown: () => h > 0,
          destroy: function () {
            (clearTimeout(i),
              clearTimeout(r),
              (r = void 0),
              e &&
                (e.removeEventListener("click", k, Y),
                e.removeEventListener("mousedown", A, Y),
                e.removeEventListener("touchstart", A, Y),
                e.removeEventListener("touchmove", C, Y),
                e.removeEventListener("touchend", O),
                e.removeEventListener("touchcancel", O)),
              (e = null),
              z());
          },
        };
        return $;
      };
    ee.isClickAllowed = () => Q;
    let et = {
        IMAGE_ERROR:
          "This image couldn't be loaded. <br /> Please try again later.",
        MOVE_UP: "Move up",
        MOVE_DOWN: "Move down",
        MOVE_LEFT: "Move left",
        MOVE_RIGHT: "Move right",
        ZOOM_IN: "Zoom in",
        ZOOM_OUT: "Zoom out",
        TOGGLE_FULL: "Toggle zoom level",
        TOGGLE_1TO1: "Toggle zoom level",
        ITERATE_ZOOM: "Toggle zoom level",
        ROTATE_CCW: "Rotate counterclockwise",
        ROTATE_CW: "Rotate clockwise",
        FLIP_X: "Flip horizontally",
        FLIP_Y: "Flip vertically",
        RESET: "Reset",
        TOGGLE_FS: "Toggle fullscreen",
      },
      en = 1e4,
      eo = (e) => {
        e.cancelable && e.preventDefault();
      },
      ei = (e, t = en) =>
        Math.round(((e = parseFloat(e + "") || 0) + Number.EPSILON) * t) / t,
      er =
        (((A = {}).Reset = "reset"),
        (A.Zoom = "zoom"),
        (A.ZoomIn = "zoomIn"),
        (A.ZoomOut = "zoomOut"),
        (A.ZoomTo = "zoomTo"),
        (A.ToggleCover = "toggleCover"),
        (A.ToggleFull = "toggleFull"),
        (A.ToggleMax = "toggleMax"),
        (A.IterateZoom = "iterateZoom"),
        (A.Pan = "pan"),
        (A.Swipe = "swipe"),
        (A.Move = "move"),
        (A.MoveLeft = "moveLeft"),
        (A.MoveRight = "moveRight"),
        (A.MoveUp = "moveUp"),
        (A.MoveDown = "moveDown"),
        (A.RotateCCW = "rotateCCW"),
        (A.RotateCW = "rotateCW"),
        (A.FlipX = "flipX"),
        (A.FlipY = "flipY"),
        (A.ToggleFS = "toggleFS"),
        A),
      el = (((C = {}).Cover = "cover"), (C.Full = "full"), (C.Max = "max"), C),
      ea = { x: 0, y: 0, scale: 1, angle: 0, flipX: 1, flipY: 1 },
      es =
        (((O = {})[(O.Init = 0)] = "Init"),
        (O[(O.Loading = 1)] = "Loading"),
        (O[(O.Error = 2)] = "Error"),
        (O[(O.Ready = 3)] = "Ready"),
        (O[(O.Destroyed = 4)] = "Destroyed"),
        O),
      ec = {
        bounds: !0,
        classes: {
          container: "f-panzoom",
          wrapper: "f-panzoom__wrapper",
          content: "f-panzoom__content",
          viewport: "f-panzoom__viewport",
        },
        clickAction: er.ToggleFull,
        dblClickAction: !1,
        gestures: {},
        height: "auto",
        l10n: et,
        maxScale: 4,
        minScale: 1,
        mouseMoveFactor: 1,
        panMode: "drag",
        protected: !1,
        singleClickAction: !1,
        spinnerTpl: '<div class="f-spinner"></div>',
        wheelAction: er.Zoom,
        width: "auto",
      },
      eu = 0,
      ed = 0,
      ef = 0,
      eg = (e, n = {}, o = {}) => {
        let i,
          r,
          l,
          a,
          d,
          g,
          m,
          p,
          y = es.Init,
          w = { ...ec, ...n },
          M = {},
          L = { ...ea },
          S = { ...ea },
          T = [];
        function R(e) {
          let t = w[e];
          return t && "function" == typeof t ? t(eL) : t;
        }
        function P() {
          return e && e.parentElement && i && y === es.Ready;
        }
        let A = new Map();
        function C(e, ...t) {
          let n = [...(A.get(e) || [])];
          for (let o of (w.on && n.push(w.on[e]), n))
            o && o instanceof Function && o(eL, ...t);
          "*" !== e && C("*", e, ...t);
        }
        function O(e) {
          if (!P() || f(e.target)) return;
          let t = Date.now(),
            n = h(
              -1,
              [-e.deltaX || 0, -e.deltaY || 0, -e.detail || 0].reduce(
                function (e, t) {
                  return Math.abs(t) > Math.abs(e) ? t : e;
                },
              ),
              1,
            );
          C("wheel", e, n);
          let o = R("wheelAction");
          if (!o || e.defaultPrevented) return;
          let i = S.scale,
            r = i * (n > 0 ? 1.5 : 0.5);
          if (o === er.Zoom) {
            let o = 100 > Math.abs(e.deltaY) && 100 > Math.abs(e.deltaX);
            if (t - ed < (o ? 200 : 45)) return void eo(e);
            ed = t;
            let l = B(),
              a = X();
            if (
              (ei(r) < ei(l) && ei(i) <= ei(l)
                ? ((ef += Math.abs(n)), (r = l))
                : ei(r) > ei(a) && ei(i) >= ei(a)
                  ? ((ef += Math.abs(n)), (r = a))
                  : ((ef = 0), (r = h(l, r, a))),
              ef > 7)
            )
              return;
          }
          switch ((eo(e), o)) {
            case er.Pan:
              Q(o, {
                srcEvent: e,
                deltaX: -(2 * e.deltaX),
                deltaY: -(2 * e.deltaY),
              });
              break;
            case er.Zoom:
              Q(er.ZoomTo, {
                srcEvent: e,
                scale: r,
                center: { x: e.clientX, y: e.clientY },
              });
              break;
            default:
              Q(o, { srcEvent: e });
          }
        }
        function I(n) {
          let o = n.composedPath()[0];
          if (
            !ee.isClickAllowed() ||
            !c(o) ||
            n.defaultPrevented ||
            !e?.contains(o) ||
            o.hasAttribute("disabled") ||
            o.hasAttribute("aria-disabled") ||
            o.hasAttribute("data-carousel-go-prev") ||
            o.hasAttribute("data-carousel-go-next")
          )
            return;
          let r = o.closest("[data-panzoom-action]"),
            l = r?.dataset?.panzoomAction,
            a = r?.dataset?.panzoomValue || "";
          if (l) {
            switch ((eo(n), l)) {
              case er.ZoomTo:
              case er.ZoomIn:
              case er.ZoomOut:
                Q(l, { scale: parseFloat(a || "") || void 0 });
                break;
              case er.MoveLeft:
              case er.MoveRight:
                Q(l, { deltaX: parseFloat(a || "") || void 0 });
                break;
              case er.MoveUp:
              case er.MoveDown:
                Q(l, { deltaY: parseFloat(a || "") || void 0 });
                break;
              case er.ToggleFS:
                ex();
                break;
              default:
                Q(l);
            }
            return;
          }
          if (!i?.contains(o)) return;
          let s = { srcEvent: n };
          if ((Q(R("clickAction"), s), R("dblClickAction"))) {
            let e = Date.now(),
              n = e - (eu || e);
            ((eu = e),
              n > 0 && n <= 250
                ? (t && (clearTimeout(t), (t = void 0)),
                  Q(R("dblClickAction"), s))
                : (t = setTimeout(() => {
                    Q(R("singleClickAction"), s);
                  }, 250)));
          }
        }
        function z(e) {
          if (
            ((p = e),
            !P() ||
              !V() ||
              L.scale <= 1 ||
              S.scale <= 1 ||
              (i?.dataset.animationName || "").indexOf("zoom") > -1)
          )
            return;
          let t = q(S.scale);
          if (!t) return;
          let { x: n, y: o } = t;
          Q(er.Pan, { deltaX: n - S.x, deltaY: o - S.y });
        }
        function k() {
          e && (b(e, "is-loading"), e.querySelector(".f-spinner")?.remove());
        }
        function $() {
          if (!e || !r) return;
          if (
            (k(),
            r instanceof HTMLImageElement && !(r.complete && r.naturalWidth))
          ) {
            ((y = es.Error), i?.classList.add("has-error"), C("error"));
            return;
          }
          C("loaded");
          let { width: t, height: n } = H();
          (r instanceof HTMLImageElement &&
            (r.setAttribute("width", t + ""), r.setAttribute("height", n + "")),
            i &&
              (b(i, "has-error"),
              r instanceof HTMLImageElement &&
                (i.setAttribute("width", t + ""),
                i.setAttribute("height", n + ""),
                (i.style.aspectRatio = `${t / n || ""}`))),
            (g = j()
              .on("start", (e, t) => {
                (void 0 !== t.angle &&
                  (t.angle = 90 * Math.round(t.angle / 90)),
                  void 0 !== t.flipX && (t.flipX = t.flipX > 0 ? 1 : -1),
                  void 0 !== t.flipY && (t.flipY = t.flipY > 0 ? 1 : -1),
                  (S = { ...ea, ...t }),
                  J(),
                  C("animationStart"));
              })
              .on("pause", (e) => {
                S = { ...ea, ...e };
              })
              .on("step", (e) => {
                if (!P()) return void g?.end();
                if (
                  ((L = { ...ea, ...e }),
                  V() ||
                    !R("bounds") ||
                    eb() ||
                    S.scale > L.scale ||
                    S.scale < W())
                )
                  return void et();
                let t = Y(S.scale),
                  n = !1,
                  o = !1,
                  i = !1,
                  r = !1;
                (L.x < t.x[0] && (n = !0),
                  L.x > t.x[1] && (o = !0),
                  L.y < t.y[0] && (r = !0),
                  L.y > t.y[1] && (i = !0));
                let l = !1,
                  a = !1,
                  s = !1,
                  c = !1;
                (S.x < t.x[0] && (l = !0),
                  S.x > t.x[1] && (a = !0),
                  S.y < t.y[0] && (c = !0),
                  S.y > t.y[1] && (s = !0));
                let u = !1;
                (((o && a) || (n && l)) &&
                  ((S.x = h(t.x[0], S.x, t.x[1])), (u = !0)),
                  ((i && s) || (r && c)) &&
                    ((S.y = h(t.y[0], S.y, t.y[1])), (u = !0)),
                  u &&
                    g &&
                    g
                      .spring({
                        tension: 94,
                        friction: 17,
                        maxSpeed: 555 * S.scale,
                        restDelta: 0.1,
                        restSpeed: 0.1,
                        velocity: g.getCurrentVelocities(),
                      })
                      .from(L)
                      .to(S)
                      .start(),
                  et());
              })
              .on("end", () => {
                (d?.isPointerDown() || K(),
                  g?.isRunning() || (J(), C("animationEnd")));
              })),
            (function () {
              let e = R("gestures");
              if (!e || !a || !r) return;
              let t = !1;
              d = ee(a, e)
                .on("start", (e) => {
                  if (!R("gestures") || !g || !P() || V()) return;
                  let n = e.srcEvent;
                  ((L.scale > 1 || e.currentTouch.length > 1) &&
                    (n?.stopPropagation(), g.pause(), (t = !0)),
                    1 === e.currentTouch.length && C("touchStart"));
                })
                .on("move", (e) => {
                  t &&
                    (1 !== S.scale || e.currentTouch.length > 1) &&
                    (eo(e.srcEvent), e.srcEvent?.stopPropagation());
                })
                .on("pan", (e) => {
                  if (!t) return;
                  let n = e.srcEvent;
                  (1 !== S.scale || e.currentTouch.length > 1) &&
                    (eo(n), Q(er.Pan, e));
                })
                .on("swipe", (e) => {
                  t && S.scale > 1 && Q(er.Swipe, e);
                })
                .on("tap", (e) => {
                  C("click", e);
                })
                .on("singleTap", (e) => {
                  C("singleClick", e);
                })
                .on("doubleTap", (e) => {
                  C("dblClick", e);
                })
                .on("pinch", (e) => {
                  t &&
                    (e.scale > W()
                      ? Q(er.ZoomIn, e)
                      : e.scale < W()
                        ? Q(er.ZoomOut, e)
                        : Q(er.Pan, e));
                })
                .on("end", (e) => {
                  t &&
                    (e.currentTouch.length
                      ? (e.srcEvent.stopPropagation(), eo(e.srcEvent), g?.end())
                      : ((t = !1), J(), K(), C("touchEnd")));
                })
                .init();
            })(),
            a &&
              (a.addEventListener("wheel", O, { passive: !1 }),
              T.push(() => {
                a?.removeEventListener("wheel", O, { passive: !1 });
              })),
            e?.addEventListener("click", I),
            document?.addEventListener("mousemove", z),
            T.push(() => {
              (e?.removeEventListener("click", I),
                document?.removeEventListener("mousemove", z));
            }));
          let o = F();
          ((L = { ...o }),
            (S = { ...o }),
            (y = es.Ready),
            et(),
            J(),
            C("ready"),
            requestAnimationFrame(() => {
              y === es.Ready && (k(), a && (a.style.visibility = ""));
            }));
        }
        function F() {
          let e = { ...(R("startPos") || {}) },
            t = e.scale,
            n = 1;
          n = "string" == typeof t ? N(t) : "number" == typeof t ? t : W();
          let o = { ...ea, ...e, scale: n },
            i = V() ? q(n) : void 0;
          if (i) {
            let { x: e, y: t } = i;
            ((o.x = e), (o.y = t));
          }
          return o;
        }
        function _() {
          let e = { top: 0, left: 0, width: 0, height: 0 };
          if (i) {
            let t = i.getBoundingClientRect();
            S.angle % 180 == 90
              ? ((e.top = t.top + 0.5 * t.height - 0.5 * t.width),
                (e.left = t.left + 0.5 * t.width - 0.5 * t.height),
                (e.width = t.height),
                (e.height = t.width))
              : ((e.top = t.top),
                (e.left = t.left),
                (e.width = t.width),
                (e.height = t.height));
          }
          return e;
        }
        function H() {
          let e = R("width"),
            t = R("height");
          if (r && "auto" === e) {
            let t = r.getAttribute("width");
            e = t
              ? parseFloat(t + "")
              : void 0 !== r.dataset.width
                ? parseFloat(r.dataset.width + "")
                : a instanceof HTMLImageElement
                  ? a.naturalWidth
                  : r instanceof HTMLImageElement
                    ? r.naturalWidth
                    : i?.getBoundingClientRect().width || 0;
          } else e = s(e) ? parseFloat(e) : e;
          if (r && "auto" === t) {
            let e = r.getAttribute("height");
            t = e
              ? parseFloat(e + "")
              : void 0 !== r.dataset.height
                ? parseFloat(r.dataset.height + "")
                : a instanceof HTMLImageElement
                  ? a.naturalHeight
                  : r instanceof HTMLImageElement
                    ? r.naturalHeight
                    : i?.getBoundingClientRect().height || 0;
          } else t = s(t) ? parseFloat(t) : t;
          return { width: e, height: t };
        }
        function D() {
          let e = _();
          return { width: e.width, height: e.height };
        }
        function V() {
          return (
            "mousemove" === R("panMode") && matchMedia("(hover: hover)").matches
          );
        }
        function q(e) {
          let t = p || R("event"),
            n = i?.getBoundingClientRect();
          if (!t || !n || e <= 1) return { x: 0, y: 0 };
          let o = (t.clientX || 0) - n.left,
            r = (t.clientY || 0) - n.top,
            { width: l, height: a } = D(),
            s = Y(e);
          if (e > 1) {
            let t = R("mouseMoveFactor");
            t > 1 && (e *= t);
          }
          let c = l * e,
            u = a * e,
            d = (c - l) * 0.5 - (((o / l) * 100) / 100) * (c - l),
            f = (u - a) * 0.5 - (((r / a) * 100) / 100) * (u - a);
          return {
            x: (d = h(s.x[0], d, s.x[1])),
            y: (f = h(s.y[0], f, s.y[1])),
          };
        }
        function N(t) {
          if (!t) return S.scale;
          if (!e) return 1;
          let n = e.getBoundingClientRect(),
            o = _(),
            { width: i, height: r } = H(),
            l = (e) => {
              if ("number" == typeof e) return e;
              switch (e) {
                case "min":
                case "base":
                  return 1;
                case "cover":
                  return Math.max(n.height / o.height, n.width / o.width) || 1;
                case "full":
                case "max": {
                  let e = S.angle % 180 == 90 ? r : i;
                  return e && o.width ? e / o.width : 1;
                }
              }
            },
            a = R("minScale"),
            s = R("maxScale"),
            c = Math.min(l("full"), l(a)),
            u =
              "number" == typeof s ? l("full") * s : Math.min(l("full"), l(s));
          switch (t) {
            case "min":
              return c;
            case "base":
              return h(c, 1, u);
            case "cover":
              return l("cover");
            case "full":
              return Math.min(u, l("full"));
            case "max":
              return u;
          }
        }
        function B() {
          return N("min");
        }
        function W() {
          return N("base");
        }
        function U() {
          return N("full");
        }
        function X() {
          return N("max");
        }
        function Y(t) {
          let n = { x: [0, 0], y: [0, 0] },
            o = e?.getBoundingClientRect();
          if (!o) return n;
          let i = _(),
            r = o.width,
            l = o.height,
            a = i.width,
            s = i.height,
            c = (t = void 0 === t ? S.scale : t),
            u = t;
          if (V() && t > 1) {
            let e = R("mouseMoveFactor");
            e > 1 &&
              (a * t > r + 0.01 && (c *= e), s * t > l + 0.01 && (u *= e));
          }
          return (
            (a *= c),
            (s *= u),
            t > 1 &&
              (a > r && ((n.x[0] = (r - a) * 0.5), (n.x[1] = (a - r) * 0.5)),
              (n.x[0] -= (i.left - o.left) * 0.5),
              (n.x[1] -= (i.left - o.left) * 0.5),
              (n.x[0] -= (i.left + i.width - o.right) * 0.5),
              (n.x[1] -= (i.left + i.width - o.right) * 0.5),
              s > l && ((n.y[0] = (l - s) * 0.5), (n.y[1] = (s - l) * 0.5)),
              (n.y[0] -= (i.top - o.top) * 0.5),
              (n.y[1] -= (i.top - o.top) * 0.5),
              (n.y[0] -= (i.top + i.height - o.bottom) * 0.5),
              (n.y[1] -= (i.top + i.height - o.bottom) * 0.5)),
            n
          );
        }
        function K() {
          if (!P() || !R("bounds") || !g) return;
          let e = B(),
            t = X(),
            n = h(e, S.scale, t);
          if (S.scale < e - 0.01 || S.scale > t + 0.01)
            return void Q(er.ZoomTo, { scale: n });
          if (g.isRunning() || eb()) return;
          let o = Y(n);
          S.x < o.x[0] || S.x > o.x[1] || S.y < o.y[0] || S.y > o.y[1]
            ? ((S.x = h(o.x[0], S.x, o.x[1])),
              (S.y = h(o.y[0], S.y, o.y[1])),
              g.spring({
                tension: 170,
                friction: 17,
                restDelta: 0.001,
                restSpeed: 0.001,
                maxSpeed: 1 / 0,
                velocity: g.getCurrentVelocities(),
              }),
              g.from(L).to(S).start())
            : et();
        }
        function J(t) {
          if (!P()) return;
          let n = ev(),
            o = eb(),
            r = eE(),
            l = ew(),
            a = eg(),
            s = em();
          (E(i, "is-fullsize", l),
            E(i, "is-expanded", r),
            E(i, "is-dragging", o),
            E(i, "can-drag", n),
            E(i, "will-zoom-in", a),
            E(i, "will-zoom-out", s));
          let c = eh(),
            u = ey(),
            d = ep(),
            f = !P();
          for (let n of (t || e)?.querySelectorAll("[data-panzoom-action]") ||
            []) {
            let e = n.dataset.panzoomAction,
              t = !1;
            if (f) t = !0;
            else
              switch (e) {
                case er.ZoomIn:
                  c || (t = !0);
                  break;
                case er.ZoomOut:
                  d || (t = !0);
                  break;
                case er.ToggleFull: {
                  u || d || (t = !0);
                  let e = n.querySelector("g");
                  e && (e.style.display = l && !t ? "none" : "");
                  break;
                }
                case er.IterateZoom: {
                  c || d || (t = !0);
                  let e = n.querySelector("g");
                  e && (e.style.display = c || t ? "" : "none");
                  break;
                }
                case er.ToggleCover:
                case er.ToggleMax:
                  c || d || (t = !0);
              }
            t
              ? (n.setAttribute("aria-disabled", ""),
                n.setAttribute("tabindex", "-1"))
              : (n.removeAttribute("aria-disabled"),
                n.removeAttribute("tabindex"));
          }
        }
        function Q(t, n) {
          if (
            !t ||
            !e ||
            !r ||
            !g ||
            !P() ||
            (t === er.Swipe && Math.abs(g.getCurrentVelocities().scale) > 0.01)
          )
            return;
          let o = { ...S },
            i = { ...S },
            l = Y(V() ? o.scale : L.scale),
            a = g.getCurrentVelocities(),
            s = _();
          n = n || {};
          let c = (n.currentTouch?.length || 0) > 1,
            u = n.velocityX || 0,
            d = n.velocityY || 0,
            f = n.center;
          n.srcEvent && (f = G(Z(n.srcEvent)));
          let m = n.deltaX || 0,
            p = n.deltaY || 0;
          switch (t) {
            case er.MoveRight:
              m = n.deltaX || 100;
              break;
            case er.MoveLeft:
              m = n.deltaX || -100;
              break;
            case er.MoveUp:
              p = n.deltaY || -100;
              break;
            case er.MoveDown:
              p = n.deltaY || 100;
          }
          let y = [];
          if ("number" == typeof t) i.scale = t;
          else
            switch (t) {
              case er.Reset:
                (i = { ...ea }).scale = W();
                break;
              case er.ZoomTo:
              case er.ZoomIn:
              case er.ZoomOut:
              case er.ToggleCover:
              case er.ToggleFull:
              case er.ToggleMax:
              case er.IterateZoom:
              case er.Zoom:
                i.scale = el(t, n);
                break;
              case er.Pan:
              case er.Move:
              case er.MoveLeft:
              case er.MoveRight:
              case er.MoveUp:
              case er.MoveDown:
                if (eb()) {
                  let e = 1,
                    t = 1;
                  (i.x <= l.x[0] &&
                    u <= 0 &&
                    (e =
                      0.2 *
                      Math.max(
                        0.01,
                        1 - Math.abs((1 / s.width) * Math.abs(i.x - l.x[0])),
                      )),
                    i.x >= l.x[1] &&
                      u >= 0 &&
                      (e =
                        0.2 *
                        Math.max(
                          0.01,
                          1 - Math.abs((1 / s.width) * Math.abs(i.x - l.x[1])),
                        )),
                    i.y <= l.y[0] &&
                      d <= 0 &&
                      (t =
                        0.2 *
                        Math.max(
                          0.01,
                          1 - Math.abs((1 / s.height) * Math.abs(i.y - l.y[0])),
                        )),
                    i.y >= l.y[1] &&
                      d >= 0 &&
                      (t =
                        0.2 *
                        Math.max(
                          0.01,
                          1 - Math.abs((1 / s.height) * Math.abs(i.y - l.y[1])),
                        )),
                    (i.x += m * e),
                    (i.y += p * t));
                } else
                  ((i.x = h(l.x[0], i.x + m, l.x[1])),
                    (i.y = h(l.y[0], i.y + p, l.y[1])));
                break;
              case er.Swipe:
                let v = (e = 0) => Math.sign(e) * Math.pow(Math.abs(e), 1.5);
                ((i.x += h(-1e3, v(u), 1e3)),
                  (i.y += h(-1e3, v(d), 1e3)),
                  d && !u && (i.x = h(l.x[0], i.x, l.x[1])),
                  !d && u && (i.y = h(l.y[0], i.y, l.y[1])),
                  (a.x = u),
                  (a.y = d));
                break;
              case er.RotateCW:
                i.angle += 90;
                break;
              case er.RotateCCW:
                i.angle -= 90;
                break;
              case er.FlipX:
                i.flipX *= -1;
                break;
              case er.FlipY:
                i.flipY *= -1;
            }
          if (
            (void 0 !== L.angle &&
              Math.abs(L.angle) >= 360 &&
              ((i.angle -= 360 * Math.floor(L.angle / 360)),
              (L.angle -= 360 * Math.floor(L.angle / 360))),
            y.length)
          ) {
            let e = y.findIndex((e) => e > i.scale + 1 / en);
            i.scale = y[e] || y[0];
          }
          if (
            (c &&
              (i.scale = h(B() * (c ? 0.8 : 1), i.scale, X() * (c ? 1.6 : 1))),
            V())
          ) {
            let e = q(i.scale);
            if (e) {
              let { x: t, y: n } = e;
              ((i.x = t), (i.y = n));
            }
          } else if (Math.abs(i.scale - o.scale) > 1e-4) {
            let t = 0,
              n = 0;
            if (f) ((t = f.x), (n = f.y));
            else {
              let o = e.getBoundingClientRect();
              ((t = o.x + 0.5 * o.width), (n = o.y + 0.5 * o.height));
            }
            let r = t - s.left,
              a = n - s.top;
            ((r -= 0.5 * s.width), (a -= 0.5 * s.height));
            let u = (r - o.x) / o.scale,
              d = (a - o.y) / o.scale;
            ((i.x = r - u * i.scale),
              (i.y = a - d * i.scale),
              !c &&
                R("bounds") &&
                ((l = Y(i.scale)),
                (i.x = h(l.x[0], i.x, l.x[1])),
                (i.y = h(l.y[0], i.y, l.y[1]))));
          }
          if (t === er.Swipe) {
            let e = 500 * i.scale;
            g.spring({
              tension: 94,
              friction: 17,
              maxSpeed: e,
              restDelta: 0.1,
              restSpeed: 0.1,
              velocity: a,
            });
          } else
            t === er.Pan || c
              ? g.spring({
                  tension: 900,
                  friction: 17,
                  restDelta: 0.01,
                  restSpeed: 0.01,
                  maxSpeed: 1,
                })
              : g.spring({
                  tension: 170,
                  friction: 17,
                  restDelta: 0.001,
                  restSpeed: 0.001,
                  maxSpeed: 1 / 0,
                  velocity: a,
                });
          if (0 === n.velocity || x(L, i))
            ((L = { ...i }), (S = { ...i }), g.end(), et(), J());
          else {
            if (x(S, i)) return;
            g.from(L).to(i).start();
          }
          C("action", t);
        }
        function et() {
          if (!r || !i || !a) return;
          let { width: t, height: n } = H();
          Object.assign(i.style, {
            maxWidth: `min(${t}px, 100%)`,
            maxHeight: `min(${n}px, 100%)`,
          });
          let {
              x: o,
              y: l,
              width: s,
              height: c,
              scale: u,
              angle: d,
              flipX: f,
              flipY: g,
            } = (function () {
              let { width: t, height: n } = H(),
                { width: o, height: i } = D();
              if (!e)
                return {
                  x: 0,
                  y: 0,
                  width: 0,
                  height: 0,
                  scale: 0,
                  flipX: 0,
                  flipY: 0,
                  angle: 0,
                  fitWidth: o,
                  fitHeight: i,
                  fullWidth: t,
                  fullHeight: n,
                };
              let { x: r, y: l, scale: a, angle: s, flipX: c, flipY: u } = L,
                d = 1 / U(),
                f = t,
                g = n,
                m = L.scale * d,
                p = S.scale * d,
                h = Math.max(o, i),
                y = Math.min(o, i);
              (t > n ? ((f = h), (g = y)) : ((f = y), (g = h)),
                (m = t > n ? (h * a) / t || 1 : (h * a) / n || 1));
              let v = f ? t * p : 0,
                b = g ? n * p : 0,
                E = f && g ? (t * m) / v : 0;
              return {
                x: (r = r + 0.5 * f - 0.5 * v),
                y: (l = l + 0.5 * g - 0.5 * b),
                width: v,
                height: b,
                scale: E,
                flipX: c,
                flipY: u,
                angle: s,
                fitWidth: o,
                fitHeight: i,
                fullWidth: t,
                fullHeight: n,
              };
            })(),
            m = `translate(${ei(o)}px, ${ei(l)}px)`;
          (1 !== f || 1 !== g
            ? (m += ` scaleX(${ei(u * f)}) scaleY(${ei(u * g)})`)
            : (m += ` scale(${ei(u)})`),
            0 !== d && (m += ` rotate(${d}deg)`),
            (a.style.width = `${ei(s)}px`),
            (a.style.height = `${ei(c)}px`),
            (a.style.transform = `${m}`),
            C("render"));
        }
        function el(e = R("clickAction"), t = {}) {
          let n = S.scale,
            o = W(),
            i = [];
          if ("number" == typeof e) o = e;
          else if (e) {
            switch (e) {
              case er.ZoomTo:
                o = t.scale || 1;
                break;
              case er.ZoomIn:
                o = n * (t.scale || 2);
                break;
              case er.ZoomOut:
                o = n * (t.scale || 0.5);
                break;
              case er.ToggleCover:
                i = [W(), N("cover")];
                break;
              case er.ToggleFull:
                i = [W(), U()];
                break;
              case er.ToggleMax:
                i = [W(), X()];
                break;
              case er.IterateZoom:
                i = [W(), U(), X()];
                break;
              case er.Zoom:
                let r = U();
                o = n >= r - 0.05 ? W() : Math.min(r, n * (t.scale || 2));
            }
            if (i.length) {
              let e = i.findIndex((e) => e > n + 1 / en);
              o = i[e] || W();
            }
          }
          return (e !== er.ZoomTo && (o = h(B(), o, X())), o);
        }
        function eg() {
          return !!(P() && el() > S.scale);
        }
        function em() {
          return !!(P() && el() < S.scale);
        }
        function ep() {
          return !!(P() && S.scale > B());
        }
        function eh() {
          return !!(P() && S.scale < X());
        }
        function ey() {
          return !!(P() && S.scale < U());
        }
        function ev() {
          return !!(P() && eE() && d && !V());
        }
        function eb() {
          return !!(P() && d?.isPointerDown() && !V());
        }
        function eE() {
          return !!(P() && S.scale > W());
        }
        function ew() {
          return !!(P() && S.scale >= U());
        }
        function ex() {
          let t = "in-fullscreen",
            n = "with-panzoom-in-fullscreen";
          e?.classList.toggle(t);
          let o = e?.classList.contains(t);
          (o
            ? (document.documentElement.classList.add(n),
              document.addEventListener("keydown", eM, !0))
            : (document.documentElement.classList.remove(n),
              document.removeEventListener("keydown", eM, !0)),
            et(),
            C(o ? "enterFS" : "exitFS"));
        }
        function eM(e) {
          "Escape" !== e.key || e.defaultPrevented || ex();
        }
        let eL = {
          canDrag: ev,
          canZoomIn: eh,
          canZoomOut: ep,
          canZoomToFull: ey,
          destroy: function () {
            for (let e of (C("destroy"), Object.values(M))) e?.destroy(eL);
            for (let e of T) e();
            return (
              i &&
                ((i.style.aspectRatio = ""),
                (i.style.maxWidth = ""),
                (i.style.maxHeight = "")),
              a &&
                ((a.style.width = ""),
                (a.style.height = ""),
                (a.style.transform = "")),
              (i = void 0),
              (r = void 0),
              (a = void 0),
              (L = { ...ea }),
              (S = { ...ea }),
              g?.destroy(),
              (g = void 0),
              d?.destroy(),
              (d = void 0),
              (y = es.Destroyed),
              eL
            );
          },
          emit: C,
          execute: Q,
          getBoundaries: Y,
          getContainer: function () {
            return e;
          },
          getContent: function () {
            return r;
          },
          getFullDim: H,
          getGestures: function () {
            return d;
          },
          getMousemovePos: q,
          getOptions: function () {
            return w;
          },
          getPlugins: function () {
            return M;
          },
          getScale: N,
          getStartPosition: F,
          getState: function () {
            return y;
          },
          getTransform: function (e) {
            return !0 === e ? S : L;
          },
          getTween: function () {
            return g;
          },
          getViewport: function () {
            return a;
          },
          getWrapper: function () {
            return i;
          },
          init: function () {
            return (
              (y = es.Init),
              C("init"),
              (function () {
                for (let [e, t] of Object.entries({
                  ...o,
                  ...(w.plugins || {}),
                }))
                  if (e && !M[e] && t instanceof Function) {
                    let n = t();
                    (n.init(eL), (M[e] = n));
                  }
                C("initPlugins");
              })(),
              (function () {
                let t = { ...ec.classes, ...R("classes") },
                  n = t.content?.split(" ").shift(),
                  o = t.wrapper?.split(" ").shift(),
                  s = t.viewport?.split(" ").shift();
                if (
                  n &&
                  o &&
                  s &&
                  e &&
                  (v(e, t.container),
                  (r = e.querySelector(`.${n}:not(.is-clone)`)))
                ) {
                  if (
                    (r.setAttribute("draggable", "false"),
                    (i = e.querySelector(`.${o}`)) ||
                      (v((i = document.createElement("div")), t.wrapper),
                      r.insertAdjacentElement("beforebegin", i),
                      i.insertAdjacentElement("afterbegin", r)),
                    (a = e.querySelector(`.${s}`)) ||
                      (v((a = document.createElement("div")), t.viewport),
                      i.insertAdjacentElement("beforeend", a)),
                    a.contains(r) || a.insertAdjacentElement("afterbegin", r),
                    (l = e.querySelector(`.${n}.is-clone`)) ||
                      ((l = r.cloneNode(!0)).removeAttribute("id"),
                      v(l, "is-clone"),
                      i.insertAdjacentElement("afterbegin", l)),
                    r instanceof HTMLPictureElement &&
                      (r = r.querySelector("img")),
                    l instanceof HTMLPictureElement &&
                      (l = l.querySelector("img")),
                    a instanceof HTMLPictureElement &&
                      (a = a.querySelector("img")),
                    a && ((a.style.visibility = "hidden"), R("protected")))
                  ) {
                    a.addEventListener("contextmenu", (e) => {
                      eo(e);
                    });
                    let e = document.createElement("div");
                    (v(e, "f-panzoom__protected"), a.appendChild(e));
                  }
                  C("initLayout");
                }
              })(),
              (function () {
                if (e && i && !m) {
                  let e = null;
                  ((m = new ResizeObserver(() => {
                    P() &&
                      (e =
                        e ||
                        requestAnimationFrame(() => {
                          (P() && (J(), K(), C("refresh")), (e = null));
                        }));
                  })).observe(i),
                    T.push(() => {
                      (m?.disconnect(),
                        (m = void 0),
                        e && (cancelAnimationFrame(e), (e = null)));
                    }));
                }
              })(),
              (function () {
                if (!e || !r) return;
                if (
                  !(
                    r instanceof HTMLImageElement &&
                    l instanceof HTMLImageElement
                  )
                )
                  return $();
                let t = () => {
                  r &&
                    r instanceof HTMLImageElement &&
                    r
                      .decode()
                      .then(() => {
                        $();
                      })
                      .catch(() => {
                        $();
                      });
                };
                ((y = es.Loading),
                e.classList.add("is-loading"),
                C("loading"),
                l.src && l.complete)
                  ? t()
                  : ((function () {
                      if (!e || e?.querySelector(".f-spinner")) return;
                      let t = u(R("spinnerTpl"));
                      t &&
                        (t.classList.add("f-spinner"),
                        e.classList.add("is-loading"),
                        i?.insertAdjacentElement("afterbegin", t));
                    })(),
                    l.addEventListener("load", t, !1),
                    l.addEventListener("error", t, !1),
                    T.push(() => {
                      (l?.removeEventListener("load", t, !1),
                        l?.removeEventListener("error", t, !1));
                    }));
              })(),
              eL
            );
          },
          isDragging: eb,
          isExpanded: eE,
          isFullsize: ew,
          isMousemoveMode: V,
          localize: function (e, t = []) {
            let n = R("l10n") || {};
            e = String(e).replace(/\{\{(\w+)\}\}/g, (e, t) => n[t] || e);
            for (let n = 0; n < t.length; n++)
              e = e.split(t[n][0]).join(t[n][1]);
            return e.replace(/\{\{(.*?)\}\}/g, (e, t) => t);
          },
          off: function (e, t) {
            for (let n of e instanceof Array ? e : [e])
              A.has(n) &&
                A.set(
                  n,
                  A.get(n).filter((e) => e !== t),
                );
            return eL;
          },
          on: function (e, t) {
            for (let n of e instanceof Array ? e : [e])
              A.set(n, [...(A.get(n) || []), t]);
            return eL;
          },
          toggleFS: ex,
          updateControls: J,
          version: "6.1.13",
          willZoomIn: eg,
          willZoomOut: em,
        };
        return eL;
      };
    ((eg.l10n = { en_EN: et }), (eg.getDefaults = () => ec));
    let em = (e, t) => {
        let n = [];
        return (
          e.childNodes.forEach((e) => {
            e.nodeType === Node.ELEMENT_NODE &&
              (!t || e.matches(t)) &&
              n.push(e);
          }),
          n
        );
      },
      ep = {
        ...et,
        ERROR: "Something went wrong. <br /> Please try again later.",
        NEXT: "Next page",
        PREV: "Previous page",
        GOTO: "Go to page #%d",
        DOWNLOAD: "Download",
        TOGGLE_FULLSCREEN: "Toggle full-screen mode",
        TOGGLE_EXPAND: "Toggle full-size mode",
        TOGGLE_THUMBS: "Toggle thumbnails",
        TOGGLE_AUTOPLAY: "Toggle slideshow",
      },
      eh = (e) => {
        e.cancelable && e.preventDefault();
      },
      ey =
        (((I = {})[(I.Init = 0)] = "Init"),
        (I[(I.Ready = 1)] = "Ready"),
        (I[(I.Destroyed = 2)] = "Destroyed"),
        I),
      ev =
        (((z = {})[(z.Loading = 0)] = "Loading"),
        (z[(z.Loaded = 1)] = "Loaded"),
        (z[(z.Error = 2)] = "Error"),
        z),
      eb = {
        adaptiveHeight: !1,
        center: !0,
        classes: {
          container: "f-carousel",
          isEnabled: "is-enabled",
          isLTR: "is-ltr",
          isRTL: "is-rtl",
          isHorizontal: "is-horizontal",
          isVertical: "is-vertical",
          hasAdaptiveHeight: "has-adaptive-height",
          viewport: "f-carousel__viewport",
          slide: "f-carousel__slide",
          isSelected: "is-selected",
        },
        dragFree: !1,
        enabled: !0,
        errorTpl: '<div class="f-html">{{ERROR}}</div>',
        fill: !1,
        infinite: !0,
        initialPage: 0,
        l10n: ep,
        rtl: !1,
        slides: [],
        slidesPerPage: "auto",
        spinnerTpl: '<div class="f-spinner"></div>',
        transition: "fade",
        tween: {
          clamp: !0,
          mass: 1,
          tension: 160,
          friction: 25,
          restDelta: 1,
          restSpeed: 1,
          velocity: 0,
        },
        vertical: !1,
      },
      eE = 0,
      ew = (e, t = {}, o = {}) => {
        let i, r, l, d, g;
        eE++;
        let p = ey.Init,
          w = { ...eb },
          x = { ...eb },
          M = {},
          L = null,
          S = null,
          T = 0,
          R = 0,
          P = 0,
          A = !1,
          C = !1,
          O = !1,
          I = "height",
          z = 0,
          k = !0,
          $ = 0,
          F = 0,
          _ = 0,
          H = 0,
          D = "*",
          V = [],
          N = [],
          B = new Set(),
          W = [],
          Z = [],
          G = 0,
          U = 0,
          X = 0;
        function Y(e, ...t) {
          let n = x[e];
          return n && n instanceof Function ? n(eF, ...t) : n;
        }
        function K(e, t = []) {
          let n = Y("l10n") || {};
          e = String(e).replace(/\{\{(\w+)\}\}/g, (e, t) => n[t] || e);
          for (let n = 0; n < t.length; n++) e = e.split(t[n][0]).join(t[n][1]);
          return e.replace(/\{\{(.*?)\}\}/g, (e, t) => t);
        }
        let J = new Map();
        function Q(e, ...t) {
          let n = [...(J.get(e) || [])];
          for (let o of (x.on && n.push(x.on[e]), n))
            o && o instanceof Function && o(eF, ...t);
          "*" !== e && Q("*", e, ...t);
        }
        function et() {
          let e = m({}, eb, w);
          m(e, eb, w);
          let t = "",
            n = w.breakpoints || {};
          if (n)
            for (let [o, i] of Object.entries(n))
              window.matchMedia(o).matches && ((t += o), m(e, i));
          if (void 0 === g || t !== g) {
            if (((g = t), p !== ey.Init)) {
              let t = Z[$]?.slides[0]?.index;
              for (let n of (void 0 === t && (t = x.initialSlide),
              (e.initialSlide = t),
              (e.slides = []),
              V))
                n.isVirtual && e.slides.push(n);
            }
            (ez(),
              (x = e),
              !1 !== Y("enabled") &&
                ((p = ey.Init),
                Q("init"),
                (function () {
                  for (let [e, t] of Object.entries({
                    ...o,
                    ...(x.plugins || {}),
                  }))
                    if (e && !M[e] && t instanceof Function) {
                      let n = t();
                      (n.init(eF, ew), (M[e] = n));
                    }
                  Q("initPlugins");
                })(),
                (function () {
                  if (!L) return;
                  let e = Y("classes") || {};
                  v(L, e.container);
                  let t = Y("style");
                  if (t && a(t))
                    for (let [e, n] of Object.entries(t))
                      L.style.setProperty(e, n);
                  ((S = L.querySelector(`.${e.viewport}`)) ||
                    (v((S = document.createElement("div")), e.viewport),
                    S.append(...em(L, `.${e.slide}`)),
                    L.insertAdjacentElement("afterbegin", S)),
                    (L.carousel = eF),
                    Q("initLayout"));
                })(),
                (function () {
                  if (!S) return;
                  let e = Y("classes") || {};
                  for (let t of ((V = []),
                  [...em(S, `.${e.slide}`)].forEach((e) => {
                    if (e.parentElement) {
                      let t = ef({
                        el: e,
                        isVirtual: !1,
                        ...(e.dataset || {}),
                      });
                      (Q("createSlide", t), V.push(t));
                    }
                  }),
                  ev(),
                  V))
                    Q("addSlide", t);
                  for (let e of (ed(Y("slides")), V)) {
                    let t = e.el;
                    t?.parentElement === S &&
                      (v(t, x.classes.slide),
                      v(t, e.class),
                      eA(e),
                      Q("attachSlideEl", e));
                  }
                  Q("initSlides");
                })(),
                ex(),
                (p = ey.Ready),
                v(L, (Y("classes") || {}).isEnabled || ""),
                eI(),
                el(),
                (r = j()
                  .on("start", () => {
                    (i && i.isPointerDown()) || (er(), eI());
                  })
                  .on("step", (e) => {
                    let t = z;
                    (z = e.pos) !== t && ((k = !1), eI());
                  })
                  .on("end", (e) => {
                    !i?.isPointerDown() &&
                      ((z = e.pos),
                      r && !A && (z < _ || z > H)
                        ? r
                            .spring({
                              clamp: !0,
                              mass: 1,
                              tension: 200,
                              friction: 25,
                              velocity: 0,
                              restDelta: 1,
                              restSpeed: 1,
                            })
                            .from({ pos: z })
                            .to({ pos: h(_, z, H) })
                            .start()
                        : k || ((k = !0), Q("settle")));
                  })),
                eo(),
                (function () {
                  if (!L || !S) return;
                  (L.addEventListener("click", eT),
                    document.addEventListener("mousemove", en));
                  let e = S.getBoundingClientRect();
                  if (((G = e.height), (U = e.width), !l)) {
                    let e = null;
                    (l = new ResizeObserver(() => {
                      e ||
                        (e = requestAnimationFrame(() => {
                          ((function () {
                            if (p !== ey.Ready || !S) return;
                            let e = Z.length,
                              t = S.getBoundingClientRect(),
                              n = t.height,
                              o = t.width;
                            (e > 1 &&
                              ((O && 0.5 > Math.abs(n - G)) ||
                                (!O && 0.5 > Math.abs(o - U)))) ||
                              (ex(),
                              eo(),
                              (G = n),
                              (U = o),
                              (O && !G) ||
                                (!O && !U) ||
                                (L &&
                                  S &&
                                  ((e === Z.length && i?.isPointerDown()) ||
                                    (Y("dragFree") && (A || (z > _ && z < H))
                                      ? (er(), eI())
                                      : eC($, { transition: !1 })))));
                          })(),
                            (e = null));
                        }));
                    })).observe(S);
                  }
                })(),
                Q("ready")));
          }
        }
        function en(e) {
          n = e;
        }
        function eo() {
          if (!1 === Y("gestures")) i && (i.destroy(), (i = void 0));
          else {
            let e;
            i ||
              ((e = Y("gestures")),
              !i &&
                !1 !== e &&
                S &&
                (i = ee(S, e)
                  .on("start", (e) => {
                    if (!r || !1 === Y("gestures", e)) return;
                    let { srcEvent: t } = e;
                    (O && q(t) && !f(t.target) && eh(t),
                      r.pause(),
                      (r.getCurrentVelocities().pos = 0));
                    let n = Z[$]?.slides[0],
                      o = n?.el;
                    if (n && B.has(n.index) && o) {
                      let e;
                      z =
                        (n.offset || 0) +
                        ({
                          width:
                            (e = new DOMMatrixReadOnly(
                              window.getComputedStyle(o).transform,
                            )).m41 || 0,
                          height: e.m42 || 0,
                        }[I] || 0) *
                          (C && !O ? 1 : -1);
                    }
                    (eL(),
                      !A &&
                        (z < _ || z > H) &&
                        r
                          .spring({
                            clamp: !0,
                            mass: 1,
                            tension: 500,
                            friction: 25,
                            velocity: r.getCurrentVelocities()?.pos || 0,
                            restDelta: 1,
                            restSpeed: 1,
                          })
                          .from({ pos: z })
                          .to({ pos: h(_, z, H) })
                          .start());
                  })
                  .on("move", (e) => {
                    if (!1 === Y("gestures", e)) return;
                    let { srcEvent: t, axis: n, deltaX: o, deltaY: i } = e;
                    if (q(t) && t.touches?.length > 1) return;
                    let l = f(t.target),
                      a = l
                        ? l.scrollHeight > l.clientHeight
                          ? "y"
                          : "x"
                        : void 0;
                    if (l && l !== S && (!n || n === a)) return;
                    if (!n) {
                      (eh(t),
                        t.stopPropagation(),
                        t.stopImmediatePropagation());
                      return;
                    }
                    if (
                      ("y" === n && !O) ||
                      ("x" === n && O) ||
                      (eh(t), t.stopPropagation(), !r)
                    )
                      return;
                    let s = C && !O ? 1 : -1,
                      c = O ? i : o,
                      u = r?.isRunning() ? r.getEndValues().pos : z,
                      d = 1;
                    (!A &&
                      (u <= _ && c * s < 0
                        ? (d =
                            0.2 *
                            Math.max(
                              0.01,
                              1 - (Math.abs((1 / T) * Math.abs(u - _)) || 0),
                            ))
                        : u >= H &&
                          c * s > 0 &&
                          (d =
                            0.2 *
                            Math.max(
                              0.01,
                              1 - (Math.abs((1 / T) * Math.abs(u - H)) || 0),
                            ))),
                      (u += c * d * s),
                      r
                        .spring({
                          clamp: !0,
                          mass: 1,
                          tension: 700,
                          friction: 25,
                          velocity: r.getCurrentVelocities()?.pos || 0,
                          restDelta: 1,
                          restSpeed: 1,
                        })
                        .from({ pos: z })
                        .to({ pos: u })
                        .start());
                  })
                  .on("panstart", (e) => {
                    !1 !== Y("gestures", e) &&
                      e?.axis === (O ? "y" : "x") &&
                      v(S, "is-dragging");
                  })
                  .on("panend", (e) => {
                    !1 !== Y("gestures", e) && b(S, "is-dragging");
                  })
                  .on("end", (e) => {
                    if (!1 === Y("gestures", e)) return;
                    let {
                      srcEvent: t,
                      axis: n,
                      velocityX: o,
                      velocityY: i,
                      currentTouch: l,
                    } = e;
                    if (l.length > 0 || !r) return;
                    let a = f(t.target),
                      s = a
                        ? a.scrollHeight > a.clientHeight
                          ? "y"
                          : "x"
                        : void 0,
                      c = a && (!n || n === s);
                    O && q(t) && !n && eT(t);
                    let u = Z.length,
                      d = Y("dragFree");
                    if (!u) return;
                    let g = c ? 0 : Y("vertical") ? i : o;
                    n !== (O ? "y" : "x") && (g = 0);
                    let m = r?.isRunning() ? r.getEndValues().pos : z,
                      p = C && !O ? 1 : -1;
                    if (
                      (c || (m += g * (d ? 5 : 1) * p),
                      !A && ((g * p <= 0 && m < _) || (g * p >= 0 && m > H)))
                    ) {
                      let e = 0;
                      (Math.abs(g) > 0 &&
                        (e = Math.min(0.3 * T, (e = 2 * Math.abs(g)))),
                        (m = h(_ + -1 * e, m, H + e)),
                        r
                          .spring({
                            clamp: !0,
                            mass: 1,
                            tension: 380,
                            friction: 25,
                            velocity: -1 * g,
                            restDelta: 1,
                            restSpeed: 1,
                          })
                          .from({ pos: z })
                          .to({ pos: m })
                          .start());
                      return;
                    }
                    if (d || M.Autoscroll?.isEnabled())
                      return void (Math.abs(g) > 10
                        ? r
                            .spring({
                              clamp: !0,
                              mass: 1,
                              tension: 150,
                              friction: 25,
                              velocity: -1 * g,
                              restDelta: 1,
                              restSpeed: 1,
                            })
                            .from({ pos: z })
                            .to({ pos: m })
                            .start()
                        : r.isRunning() || k || ((k = !0), Q("settle")));
                    if (
                      !(d || M.Autoscroll?.isEnabled()) &&
                      (!(e.offsetX || e.offsetY) ||
                        ("y" === n && !O) ||
                        ("x" === n && O))
                    )
                      return void eC($, { transition: "tween" });
                    let y = es(m);
                    (Math.abs(g) > 10 &&
                      y === $ &&
                      (g > 0
                        ? (y += C && !O ? 1 : -1)
                        : (y += C && !O ? -1 : 1)),
                      eC(y, {
                        transition: "tween",
                        tween: { velocity: -1 * g },
                      }));
                  })
                  .init()));
          }
          E(S, "is-draggable", !!i && Z.length > 0);
        }
        function ei(e = "*") {
          let t = [];
          for (let n of V)
            ("*" === e ||
              (n.class && n.class.includes(e)) ||
              (n.el && n.el?.classList.contains(e))) &&
              t.push(n);
          ((d = void 0), (D = e), (N = [...t]));
        }
        function er() {
          if (!r) return;
          let e = es(r?.isRunning() ? r.getEndValues().pos : z);
          e !== $ && ((d = $), ($ = e), eA(), el(), ea(), Q("change", $, d));
        }
        function el() {
          if (!L) return;
          for (let e of L.querySelectorAll("[data-carousel-index]"))
            e.innerHTML = $ + "";
          for (let e of L.querySelectorAll("[data-carousel-page]"))
            e.innerHTML = $ + 1 + "";
          for (let e of L.querySelectorAll("[data-carousel-pages]"))
            e.innerHTML = Z.length + "";
          for (let e of L.querySelectorAll("[data-carousel-go-to]"))
            parseInt(e.dataset?.carouselGoTo || "-1", 10) === $
              ? e.setAttribute("aria-current", "true")
              : e.removeAttribute("aria-current");
          for (let e of L.querySelectorAll("[data-carousel-go-prev]"))
            (e.toggleAttribute("aria-disabled", !ek()),
              ek()
                ? e.removeAttribute("tabindex")
                : e.setAttribute("tabindex", "-1"));
          for (let e of L.querySelectorAll("[data-carousel-go-next]"))
            (e.toggleAttribute("aria-disabled", !e$()),
              e$()
                ? e.removeAttribute("tabindex")
                : e.setAttribute("tabindex", "-1"));
          let e = !1,
            t = Z[$]?.slides[0];
          for (let n of (t &&
            (t.downloadSrc || ("image" === t.type && t.src)) &&
            (e = !0),
          L.querySelectorAll("[data-carousel-download]")))
            n.toggleAttribute("aria-disabled", !e);
        }
        function ea(e) {
          e || (e = Z[$]?.slides[0]);
          let t = e?.el;
          if (t)
            for (let n of t.querySelectorAll("[data-slide-index]"))
              n.innerHTML = e.index + 1 + "";
        }
        function es(e) {
          if (!Z.length) return 0;
          let t = ec(),
            n = e;
          A
            ? (n -= Math.floor((e - Z[0]?.pos) / t) * t || 0)
            : (n = h(Z[0]?.pos, e, Z[Z.length - 1]?.pos));
          let o = new Map(),
            i = 0;
          for (let e of Z) {
            let r = Math.min(
              Math.abs(e.pos - n),
              Math.abs(e.pos - n - t),
              Math.abs(e.pos - n + t),
            );
            (o.set(i, r), i++);
          }
          return parseInt(
            (o.size > 0
              ? [...o.entries()].reduce((e, t) => (t[1] < e[1] ? t : e))
              : [$, 0])[0],
          );
        }
        function ec(e = !0) {
          return N.length
            ? N.reduce((e, t) => e + t.dim, 0) +
                (N.length - (A && e ? 0 : 1)) * X
            : 0;
        }
        function eu(e) {
          let t = ec(),
            n = T;
          if (!t || !S || !n) return [];
          let o = [];
          ((e = void 0 === e ? z : e), A && (e -= Math.floor(e / t) * t || 0));
          let i = 0;
          for (let r of N) {
            let l = (t = 0) => {
              !(o.indexOf(r) > -1) &&
                ((r.pos = i - e + t || 0),
                r.offset + t > e - r.dim - R + 0.51 &&
                  r.offset + t < e + n + P - 0.51 &&
                  o.push(r));
            };
            ((r.offset = i), A && (l(t), l(-1 * t)), l(), (i += r.dim + X));
          }
          return o;
        }
        function ed(e, t) {
          let n = [];
          for (let t of Array.isArray(e) ? e : [e]) {
            let e = ef({ ...t, isVirtual: !0 });
            (e.el || (e.el = document.createElement("div")),
              Q("createSlide", e),
              n.push(e));
          }
          for (let e of (V.splice(void 0 === t ? V.length : t, 0, ...n),
          ev(),
          n))
            (Q("addSlide", e),
              (function (e) {
                let t = e.el;
                if (!e || !t) return;
                let n = e.html
                  ? e.html instanceof HTMLElement
                    ? e.html
                    : u(e.html)
                  : void 0;
                n &&
                  (v(n, "f-html"),
                  (e.htmlEl = n),
                  v(t, "has-html"),
                  t.append(n),
                  Q("contentReady", e));
              })(e));
          return (ei(D), n);
        }
        function ef(e) {
          return (
            (s(e) || e instanceof HTMLElement) && (e = { html: e }),
            {
              index: -1,
              el: void 0,
              class: "",
              isVirtual: !0,
              dim: 0,
              pos: 0,
              offset: 0,
              html: "",
              src: "",
              ...e,
            }
          );
        }
        function eg(e) {
          if (!S || !e) return;
          let t = e.el;
          if (t) {
            if (
              (t.setAttribute("index", e.index + ""), t.parentElement !== S)
            ) {
              let n;
              for (let o of (v(t, x.classes.slide), v(t, e.class), eA(e), V))
                if (o.index > e.index) {
                  n = o.el;
                  break;
                }
              (S.insertBefore(t, n && S.contains(n) ? n : null),
                Q("attachSlideEl", e));
            }
            return (ea(e), t);
          }
        }
        function ep(e) {
          let t = e?.el;
          t && (t.remove(), eM(t), Q("detachSlideEl", e));
        }
        function ev() {
          for (let e = 0; e < V.length; e++) {
            let t = V[e],
              n = t.el;
            (n && (t.index !== e && eM(n), n.setAttribute("index", `${e}`)),
              (t.index = e));
          }
        }
        function ex() {
          if (!L || !S) return;
          ((C = Y("rtl")), (I = (O = Y("vertical")) ? "height" : "width"));
          let e = Y("classes");
          if (
            (E(L, e.isLTR, !C),
            E(L, e.isRTL, C),
            E(L, e.isHorizontal, !O),
            E(L, e.isVertical, O),
            E(L, e.hasAdaptiveHeight, Y("adaptiveHeight")),
            (T = 0),
            (R = 0),
            (P = 0),
            (X = 0),
            S)
          ) {
            S.childElementCount || (S.style.display = "grid");
            let e = S.getBoundingClientRect();
            T = S.getBoundingClientRect()[I] || 0;
            let t = window.getComputedStyle(S);
            ((X = parseFloat(t.getPropertyValue("--f-carousel-gap")) || 0),
              "visible" === t.getPropertyValue("overflow-" + (O ? "y" : "x")) &&
                ((R = Math.abs(e[O ? "top" : "left"])),
                (P = Math.abs(
                  window[O ? "innerHeight" : "innerWidth"] -
                    e[O ? "bottom" : "right"],
                ))),
              (S.style.display = ""));
          }
          if (!T) return;
          let t = (function () {
            let e = 0;
            if (S) {
              let t = document.createElement("div");
              ((t.style.display = "block"),
                v(t, x.classes.slide),
                S.appendChild(t),
                (e = t.getBoundingClientRect()[I]),
                t.remove(),
                (t = void 0));
            }
            return e;
          })();
          for (let e of N) {
            let n = e.el,
              o = 0;
            if (!e.isVirtual && n && c(n)) {
              let e = !1;
              ((n.parentElement && n.parentElement === S) ||
                (S.appendChild(n), (e = !0)),
                (o = n.getBoundingClientRect()[I]),
                e && n.parentElement?.removeChild(n));
            } else o = t;
            e.dim = o;
          }
          if (((A = !1), Y("infinite"))) {
            A = !0;
            let e = ec(),
              t = T + R + P;
            for (let n = 0; n < N.length; n++) {
              let o = N[n]?.dim + X;
              if (e - o < t && e - o - t < o) {
                A = !1;
                break;
              }
            }
          }
          if (
            (!(function () {
              let e;
              if (!L) return;
              let t = T,
                n = ec(!1),
                o = Y("slidesPerPage");
              ((o = "auto" === o ? 1 / 0 : parseFloat(o + "")), (Z = []));
              let i = 0,
                r = 0;
              for (let e of N)
                ((!Z.length || i + e.dim - t > 0.05 || r >= o) &&
                  (Z.push({
                    index: Z.length,
                    slides: [],
                    dim: 0,
                    offset: 0,
                    pos: 0,
                  }),
                  (i = 0),
                  (r = 0)),
                  Z[Z.length - 1]?.slides.push(e),
                  (i += e.dim + X),
                  r++);
              let l = Y("center"),
                a = Y("fill"),
                s = 0;
              for (let e of Z) {
                for (let t of ((e.dim = (e.slides.length - 1) * X), e.slides))
                  e.dim += t.dim;
                ((e.offset = s),
                  (e.pos = s),
                  !1 !== l && (e.pos -= (t - e.dim) * 0.5),
                  a && !A && n > t && (e.pos = h(0, e.pos, n - t)),
                  (s += e.dim + X));
              }
              let c = [];
              for (let t of Z) {
                let n = { ...t };
                e && 0.1 > Math.abs(n.pos - e.pos)
                  ? ((e.dim += n.dim), (e.slides = [...e.slides, ...n.slides]))
                  : ((e = n), (n.index = c.length), c.push(n));
              }
              $ = h(0, $, (Z = c).length - 1);
            })(),
            (_ = Z[0]?.pos || 0),
            (H = Z[Z.length - 1]?.pos || 0),
            p === ey.Init)
          ) {
            let e;
            ((d = void 0),
              ($ = Y("initialPage")),
              void 0 !== (e = Y("initialSlide") || void 0) &&
                ($ = eF.getPageIndex(e) || 0),
              ($ = h(0, $, Z.length - 1)),
              (F = z = Z[$]?.pos || 0));
          } else F = Z[$ || 0]?.pos || 0;
          (Q("refresh"), el());
        }
        function eM(e) {
          if (!e || !c(e)) return;
          let t = parseInt(e.getAttribute("index") || "-1"),
            n = "";
          for (let t of Array.from(e.classList)) {
            let e = t.match(/^f-(\w+)(Out|In)$/);
            e && e[1] && (n = e[1] + "");
          }
          if (!e || !n) return;
          let o = [
            `f-${n}Out`,
            `f-${n}In`,
            "to-prev",
            "to-next",
            "from-prev",
            "from-next",
          ];
          (e.removeEventListener("animationend", eS),
            b(e, o.join(" ")),
            B.delete(t));
        }
        function eL() {
          if (!S) return;
          let e = B.size > 0;
          for (let e of N) eM(e.el);
          (B.clear(), e && eI());
        }
        function eS(e) {
          e.animationName?.substring(0, 2) === "f-" &&
            (eM(e.target),
            !B.size &&
              (b(L, "in-transition"),
              !k &&
                0.5 > Math.abs(eF.getPosition(!0) - F) &&
                ((k = !0), Q("settle"))),
            eI());
        }
        function eT(e) {
          if (e.defaultPrevented) return;
          let t = e.composedPath()[0];
          if (t.closest("[data-carousel-go-prev]")) {
            (eh(e), eF.prev());
            return;
          }
          if (t.closest("[data-carousel-go-next]")) {
            (eh(e), eF.next());
            return;
          }
          let n = t.closest("[data-carousel-go-to]");
          if (n) {
            (eh(e), eF.goTo(parseFloat(n.dataset.carouselGoTo || "") || 0));
            return;
          }
          if (t.closest("[data-carousel-download]")) {
            eh(e);
            let t = Z[$]?.slides[0];
            if (t && (t.downloadSrc || ("image" === t.type && t.src))) {
              let e = t.downloadFilename,
                n = document.createElement("a"),
                o = t.downloadSrc || t.src || "";
              ((n.href = o),
                (n.target = "_blank"),
                (n.download = e || o),
                n.click());
            }
            return;
          }
          Q("click", e);
        }
        function eR(e) {
          let t = e.el;
          t && t.querySelector(".f-spinner")?.remove();
        }
        function eP(e) {
          let t = e.el;
          t &&
            (t.querySelector(".f-html.is-error")?.remove(), b(t, "has-error"));
        }
        function eA(e) {
          e || (e = Z[$]?.slides[0]);
          let t = e?.el;
          if (!t) return;
          let n = Y("formatCaption", e);
          (void 0 === n && (n = e.caption), (n = n || ""));
          let o = Y("captionEl");
          if (o && o instanceof HTMLElement) {
            if (e.index !== $) return;
            if ((s(n) && (o.innerHTML = K(n + "")), n instanceof HTMLElement)) {
              if (n.parentElement === o) return;
              ((o.innerHTML = ""),
                n.parentElement && (n = n.cloneNode(!0)),
                o.append(n));
            }
            return;
          }
          if (!n) return;
          let i = e.captionEl || t.querySelector(".f-caption");
          (!i &&
            n instanceof HTMLElement &&
            n.classList.contains("f-caption") &&
            (i = n),
            !i &&
              (v((i = document.createElement("div")), "f-caption"),
              s(n)
                ? (i.innerHTML = K(n + ""))
                : n instanceof HTMLElement &&
                  (n.parentElement && (n = n.cloneNode(!0)), i.append(n))));
          let r = `f-caption-${eE}_${e.index}`;
          (i.setAttribute("id", r),
            (i.dataset.selectable = "true"),
            v(t, "has-caption"),
            t.setAttribute("aria-labelledby", r),
            (e.captionEl = i),
            t.insertAdjacentElement("beforeend", i));
        }
        function eC(e, t = {}) {
          let { transition: n, tween: o } = {
            ...{ transition: x.transition, tween: x.tween },
            ...(t || {}),
          };
          if (!L || !r) return;
          let i = Z.length;
          if (
            !i ||
            (function (e, t) {
              if (!L || !T || !r || !t || !s(t) || "tween" === t) return !1;
              for (let e of W) if (T - e.dim > 0.5) return !1;
              if (R > 0.5 || P > 0.5) return;
              let n = Z.length,
                o = e > $ ? 1 : -1;
              ((e = A ? ((e % n) + n) % n : h(0, e, n - 1)), C && (o *= -1));
              let i = Z[$]?.slides[0],
                l = i?.index,
                a = Z[e]?.slides[0],
                c = a?.index,
                u = Z[e]?.pos;
              if (
                void 0 === c ||
                void 0 === l ||
                l === c ||
                z === u ||
                Math.abs(T - (a?.dim || 0)) > 1
              )
                return !1;
              ((k = !1), r.pause(), eL(), v(L, "in-transition"), (z = F = u));
              let d = eg(i),
                f = eg(a);
              return (
                er(),
                d &&
                  (B.add(l),
                  (d.style.transform = ""),
                  d.addEventListener("animationend", eS),
                  b(d, x.classes.isSelected),
                  (d.inert = !1),
                  v(d, `f-${t}Out to-${o > 0 ? "next" : "prev"}`)),
                f &&
                  (B.add(c),
                  (f.style.transform = ""),
                  f.addEventListener("animationend", eS),
                  v(f, x.classes.isSelected),
                  (f.inert = !1),
                  v(f, `f-${t}In from-${o > 0 ? "prev" : "next"}`)),
                eI(),
                !0
              );
            })(e, n)
          )
            return;
          ((e = A ? ((e % i) + i) % i : h(0, e, i - 1)),
            (F = Z[e || 0]?.pos || 0));
          let l = r.isRunning() ? r.getEndValues().pos : z;
          if (1 > Math.abs(F - l)) {
            ((z = F),
              $ !== e &&
                (eA(), (d = $), ($ = e), el(), ea(), Q("change", $, d)),
              eI(),
              k || ((k = !0), Q("settle")));
            return;
          }
          if ((r.pause(), eL(), A)) {
            let e = ec(),
              t = Math.floor((l - Z[0]?.pos) / e) || 0,
              n = F + t * e,
              o = n - e;
            F = [n + e, n, o].reduce(function (e, t) {
              return Math.abs(t - l) < Math.abs(e - l) ? t : e;
            });
          }
          !1 !== n && a(o)
            ? r
                .spring(m({}, x.tween, o))
                .from({ pos: z })
                .to({ pos: F })
                .start()
            : ((z = F), er(), eI(), k || ((k = !0), Q("settle")));
        }
        function eO(e) {
          let t = z;
          if (A && !0 !== e) {
            let e = ec();
            t -= (Math.floor((z - Z[0]?.pos || 0) / e) || 0) * e;
          }
          return t;
        }
        function eI() {
          let e;
          if (!L || !S) return;
          W = eu();
          let t = new Set(),
            n = [],
            o = Z[$],
            i = x.setTransform;
          for (let i of N) {
            let r = B.has(i.index),
              l = W.indexOf(i) > -1,
              a = o?.slides?.indexOf(i) > -1;
            if (i.isVirtual && !r && !l) continue;
            let s = eg(i);
            if (s && (n.push(i), a && t.add(s), Y("adaptiveHeight") && a)) {
              let t = (s.lastElementChild || s).getBoundingClientRect().height;
              e = void 0 == e ? t : Math.max(e, t);
            }
          }
          (S && e && (S.style.height = `${e}px`),
            [...em(S, `.${x.classes.slide}`)].forEach((e) => {
              E(e, x.classes.isSelected, t.has(e));
              let n = V[parseInt(e.getAttribute("index") || "-1")];
              if (!n) {
                (e.remove(), eM(e));
                return;
              }
              let o = B.has(n.index),
                r = W.indexOf(n) > -1;
              if (n.isVirtual && !o && !r) return void ep(n);
              if (((e.inert = !r), !1 === i)) return;
              let l = n.pos ? Math.round(1e4 * n.pos) / 1e4 : 0,
                a = 0,
                s = 0,
                c = 0,
                u = 0;
              (o ||
                ((a = O ? 0 : C ? -1 * l : l),
                (s = O ? l : 0),
                (c = y(a, 0, n.dim, 0, 100)),
                (u = y(s, 0, n.dim, 0, 100))),
                i instanceof Function && !o
                  ? i(eF, n, { x: a, y: s, xPercent: c, yPercent: u })
                  : (e.style.transform =
                      a || s ? `translate3d(${c}%, ${u}%,0)` : ""));
            }),
            Q("render", n));
        }
        function ez() {
          for (let e of (L?.removeEventListener("click", eT),
          document.removeEventListener("mousemove", en),
          B.clear(),
          l?.disconnect(),
          (l = void 0),
          V)) {
            let t = e.el;
            t &&
              c(t) &&
              ((e.state = void 0),
              eR(e),
              eP(e),
              e.isVirtual
                ? (ep(e), (e.el = void 0))
                : (eM(t),
                  (t.style.transform = ""),
                  S && !S.contains(t) && S.appendChild(t)));
          }
          for (let e of Object.values(M)) e?.destroy();
          for (let [e, t] of ((M = {}),
          i?.destroy(),
          (i = void 0),
          r?.destroy(),
          (r = void 0),
          Object.entries(x.classes || {})))
            "container" !== e && b(L, t);
          b(S, "is-draggable");
        }
        function ek() {
          return A || $ > 0;
        }
        function e$() {
          return A || $ < Z.length - 1;
        }
        let eF = {
          add: function (e, t) {
            let n = z,
              o = $,
              i = ec(),
              l = r?.isRunning() ? r.getEndValues().pos : z,
              a = (i && Math.floor((l - (Z[0]?.pos || 0)) / i)) || 0;
            return (
              ed(e, t),
              ei(D),
              ex(),
              r &&
                i &&
                (o === $ && (n -= a * i),
                n === F
                  ? (z = F)
                  : r
                      .spring({
                        clamp: !0,
                        mass: 1,
                        tension: 300,
                        friction: 25,
                        restDelta: 1,
                        restSpeed: 1,
                      })
                      .from({ pos: n })
                      .to({ pos: F })
                      .start()),
              eI(),
              eF
            );
          },
          canGoPrev: ek,
          canGoNext: e$,
          destroy: function () {
            return (
              Q("destroy"),
              window.removeEventListener("resize", et),
              ez(),
              J.clear(),
              (L = null),
              (Z = []),
              (V = []),
              (x = { ...eb }),
              (M = {}),
              (N = []),
              (g = void 0),
              (D = "*"),
              (p = ey.Destroyed),
              eF
            );
          },
          emit: Q,
          filter: function (e = "*") {
            return (ei(e), ex(), (z = h(_, z, H)), eI(), Q("filter", e), eF);
          },
          getContainer: function () {
            return L;
          },
          getGapDim: function () {
            return X;
          },
          getGestures: function () {
            return i;
          },
          getLastMouseMove: function () {
            return n;
          },
          getOption: function (e) {
            return Y(e);
          },
          getOptions: function () {
            return x;
          },
          getPage: function () {
            return Z[$];
          },
          getPageIndex: function (e) {
            if (void 0 !== e) {
              for (let t of Z || [])
                for (let n of t.slides) if (n.index === e) return t.index;
              return -1;
            }
            return $;
          },
          getPageIndexFromPosition: es,
          getPageProgress: function (e, t) {
            void 0 === e && (e = $);
            let n = Z[e];
            if (!n) return e > $ ? -1 : 1;
            let o = ec(),
              i = X,
              r = n.pos,
              l = eO();
            if (A && !0 !== t) {
              let e = Math.floor((l - Z[0]?.pos) / o) || 0;
              ((l -= e * o),
                (r = [r + o, r, r - o].reduce(function (e, t) {
                  return Math.abs(t - l) < Math.abs(e - l) ? t : e;
                })));
            }
            return (l - r) / (n.dim + i) || 0;
          },
          getPageVisibility: function (e) {
            void 0 === e && (e = $);
            let t = Z[e];
            if (!t) return e > $ ? -1 : 1;
            let n = eO(),
              o = T,
              i = t.pos;
            if (A) {
              let e = ec(),
                t = i + (Math.floor((n - Z[0]?.pos) / e) || 0) * e,
                o = t - e;
              i = [t + e, t, o].reduce(function (e, t) {
                return Math.abs(t - n) < Math.abs(e - n) ? t : e;
              });
            }
            return i > n && i + t.dim < n + o
              ? 1
              : i < n
                ? (i + t.dim - n) / t.dim || 0
                : (i + t.dim > n + o && (n + o - i) / t.dim) || 0;
          },
          getPages: function () {
            return Z;
          },
          getPlugins: function () {
            return M;
          },
          getPosition: eO,
          getSlides: function () {
            return V;
          },
          getState: function () {
            return p;
          },
          getTotalSlideDim: ec,
          getTween: function () {
            return r;
          },
          getViewport: function () {
            return S;
          },
          getViewportDim: function () {
            return T;
          },
          getVisibleSlides: function (e) {
            return void 0 === e ? W : eu(e);
          },
          goTo: eC,
          hasNavigated: function () {
            return void 0 !== d;
          },
          hideError: eP,
          hideLoading: eR,
          init: function () {
            if (!e || !c(e)) throw Error("No Element found");
            return (
              p !== ey.Init && (ez(), (p = ey.Init)),
              (L = e),
              (w = t),
              window.removeEventListener("resize", et),
              w.breakpoints && window.addEventListener("resize", et),
              et(),
              eF
            );
          },
          isInfinite: function () {
            return A;
          },
          isInTransition: function () {
            return B.size > 0;
          },
          isRTL: function () {
            return C;
          },
          isSettled: function () {
            return k;
          },
          isVertical: function () {
            return O;
          },
          localize: K,
          next: function (e = {}) {
            return (eC($ + 1, e), eF);
          },
          off: function (e, t) {
            for (let n of e instanceof Array ? e : [e])
              J.has(n) &&
                J.set(
                  n,
                  J.get(n).filter((e) => e !== t),
                );
            return eF;
          },
          on: function (e, t) {
            for (let n of e instanceof Array ? e : [e])
              J.set(n, [...(J.get(n) || []), t]);
            return eF;
          },
          prev: function (e = {}) {
            return (eC($ - 1, e), eF);
          },
          reInit: function (e = {}, n) {
            return (
              ez(),
              (p = ey.Init),
              (g = void 0),
              (D = "*"),
              (t = e),
              (w = e),
              a(n) && (o = n),
              et(),
              eF
            );
          },
          remove: function (e) {
            void 0 === e && (e = V.length - 1);
            let t = V[e];
            return (
              t &&
                (Q("removeSlide", t),
                t.el && (eM(t.el), t.el.remove(), (t.el = void 0)),
                V.splice(e, 1),
                ei(D),
                ex(),
                (z = h(_, z, H)),
                eI()),
              eF
            );
          },
          setPosition: function (e) {
            ((z = e), er(), eI());
          },
          showError: function (e, t) {
            if (p === ey.Ready) {
              (eR(e), eP(e));
              let n = e.el;
              if (n) {
                let o = document.createElement("div");
                (v(o, "f-html"),
                  v(o, "is-error"),
                  (o.innerHTML = K(t || "<p>{{ERROR}}</p>")),
                  (e.htmlEl = o),
                  v(n, "has-html has-error"),
                  n.insertAdjacentElement("afterbegin", o),
                  Q("contentReady", e));
              }
            }
            return eF;
          },
          showLoading: function (e) {
            let t = e.el,
              n = t?.querySelector(".f-spinner");
            if (!t || n) return eF;
            let o = u(Y("spinnerTpl"));
            return (
              o && (v(o, "f-spinner"), t.insertAdjacentElement("beforeend", o)),
              eF
            );
          },
          version: "6.1.13",
        };
        return eF;
      };
    ((ew.l10n = { en_EN: ep }), (ew.getDefaults = () => eb));
    let ex = function (e = "", t = "", n = "") {
        return e.split(t).join(n);
      },
      eM = {
        tpl: (e) => `<img class="f-panzoom__content" 
    ${e.srcset ? 'data-lazy-srcset="{{srcset}}"' : ""} 
    ${e.sizes ? 'data-lazy-sizes="{{sizes}}"' : ""} 
    data-lazy-src="{{src}}" alt="{{alt}}" />`,
      },
      eL = () => {
        let e;
        function t(t, n) {
          let o = e?.getOptions().Zoomable,
            i = (a(o) ? { ...eM, ...o } : eM)[t];
          return i && "function" == typeof i && n ? i(n) : i;
        }
        function n() {
          e &&
            !1 !== e.getOptions().Zoomable &&
            (e.on("addSlide", r),
            e.on("removeSlide", l),
            e.on("attachSlideEl", c),
            e.on("click", i),
            e.on("change", o),
            e.on("ready", o));
        }
        function o() {
          u();
          let t = e?.getVisibleSlides() || [];
          if (t.length > 1 || e?.getOption("transition") === "slide")
            for (let n of t) {
              let t = n.panzoomRef;
              t &&
                0 > (e?.getPage().slides || []).indexOf(n) &&
                t.execute(er.ZoomTo, { ...t.getStartPosition() });
            }
        }
        function i(e, t) {
          let n = t.target;
          n &&
            !t.defaultPrevented &&
            n.dataset.panzoomAction &&
            d(n.dataset.panzoomAction);
        }
        function r(n, o) {
          let i = o.el;
          if (!e || !i || o.panzoomRef) return;
          let r = o.src || o.lazySrc || "",
            l = o.alt || o.caption || `Image #${o.index}`,
            a = o.srcset || o.lazySrcset || "",
            c = o.sizes || o.lazySizes || "";
          if (r && s(r) && !o.html && (!o.type || "image" === o.type)) {
            ((o.type = "image"), (o.thumbSrc = o.thumbSrc || r));
            let e = t("tpl", o);
            ((e = ex(e, "{{src}}", r + "")),
              (e = ex(e, "{{srcset}}", a + "")),
              (e = ex(e, "{{sizes}}", c + "")),
              i.insertAdjacentHTML("afterbegin", e));
          }
          let d = i.querySelector(".f-panzoom__content");
          if (!d) return;
          d.setAttribute("alt", l + "");
          let f = eg(i, {
            width:
              o.width && "auto" !== o.width ? parseFloat(o.width + "") : "auto",
            height:
              o.height && "auto" !== o.height
                ? parseFloat(o.height + "")
                : "auto",
            classes: { container: "f-zoomable" },
            event: () => e?.getLastMouseMove(),
            spinnerTpl: () => e?.getOption("spinnerTpl") || "",
            ...t("Panzoom"),
          });
          (f.on("*", (t, n, ...i) => {
            e &&
              ("loading" === n && (o.state = 0),
              "loaded" === n && (o.state = 1),
              "error" === n &&
                ((o.state = 2), e?.showError(o, "{{IMAGE_ERROR}}")),
              e.emit(`panzoom:${n}`, o, ...i),
              "loading" === n && e.emit("contentLoading", o),
              "ready" === n && e.emit("contentReady", o),
              o.index === e?.getPageIndex() && u());
          }),
            (o.panzoomRef = f));
        }
        function l(e, t) {
          t.panzoomRef && (t.panzoomRef.destroy(), (t.panzoomRef = void 0));
        }
        function c(e, t) {
          let n = t.panzoomRef;
          if (n)
            switch (n.getState()) {
              case es.Init:
                n.init();
                break;
              case es.Ready:
                n.execute(er.ZoomTo, { ...n.getStartPosition(), velocity: 0 });
            }
        }
        function u() {
          let t = e?.getContainer() || void 0,
            n = e?.getPage()?.slides[0]?.panzoomRef;
          if (t)
            if (n) n.updateControls(t);
            else
              for (let e of t.querySelectorAll("[data-panzoom-action]") || [])
                (e.setAttribute("aria-disabled", ""),
                  e.setAttribute("tabindex", "-1"));
        }
        function d(t, ...n) {
          e?.getPage().slides[0].panzoomRef?.execute(t, ...n);
        }
        return {
          init: function (t) {
            (e = t).on("initPlugins", n);
          },
          destroy: function () {
            if (e)
              for (let t of (e.off("initPlugins", n),
              e.off("addSlide", r),
              e.off("removeSlide", l),
              e.off("attachSlideEl", c),
              e.off("click", i),
              e.off("change", o),
              e.off("ready", o),
              e.getSlides()))
                l(e, t);
            e = void 0;
          },
          execute: d,
        };
      },
      eS = { syncOnChange: !1, syncOnClick: !0, syncOnHover: !1 },
      eT = () => {
        let e, t;
        function n() {
          let t = e?.getOptions().Sync;
          return a(t) ? { ...eS, ...t } : eS;
        }
        function o() {
          let o = n().target;
          e &&
            o &&
            e &&
            o &&
            ((t = o),
            (e.getOptions().classes = {
              ...e.getOptions().classes,
              isSelected: "",
            }),
            (e.getOptions().initialSlide = t.getPage()?.slides[0]?.index || 0),
            n().syncOnChange && e.on("change", r),
            n().syncOnClick && e.on("click", s),
            n().syncOnHover &&
              e.getViewport()?.addEventListener("mouseover", c),
            e &&
              t &&
              (e.on("ready", i),
              e.on("refresh", u),
              t.on("change", l),
              t.on("filter", d)));
        }
        function i() {
          f();
        }
        function r() {
          if (e && t) {
            let n = e.getPage()?.slides || [],
              o = t.getPageIndex(n[0].index || 0);
            (o > -1 &&
              t.goTo(
                o,
                e.hasNavigated() ? void 0 : { tween: !1, transition: !1 },
              ),
              f());
          }
        }
        function l() {
          if (e && t) {
            let n = e.getPageIndex(t.getPage()?.slides[0].index || 0);
            (n > -1 &&
              e.goTo(
                n,
                t.hasNavigated() ? void 0 : { tween: !1, transition: !1 },
              ),
              f());
          }
        }
        function s(n, o) {
          if (!e || !t || e.getTween()?.isRunning()) return;
          let i = e?.getOptions().classes.slide;
          if (!i) return;
          let r = i ? o.target.closest(`.${i}`) : null;
          if (r) {
            let e = parseInt(r.getAttribute("index") || "") || 0,
              n = t.getPageIndex(e);
            t.goTo(n);
          }
        }
        function c(t) {
          e && s(e, t);
        }
        function u() {
          if (e && t) {
            let n = e.getPageIndex(t.getPage()?.slides[0].index || 0);
            (n > -1 && e.goTo(n, { tween: !1, transition: !1 }), f());
          }
        }
        function d(n, o) {
          e && t && (e.filter(o), l());
        }
        function f() {
          if (!t) return;
          let n = t.getPage()?.slides[0]?.index || 0;
          for (let t of e?.getSlides() || [])
            t.el?.classList.toggle("is-selected", t.index === n);
        }
        return {
          init: function (t) {
            (e = t).on("initSlides", o);
          },
          destroy: function () {
            (e?.off("ready", i),
              e?.off("refresh", u),
              e?.off("change", r),
              e?.off("click", s),
              e?.getViewport()?.removeEventListener("mouseover", c),
              t?.off("change", l),
              t?.off("filter", d),
              (t = void 0),
              e?.off("initSlides", o),
              (e = void 0));
          },
          getTarget: function () {
            return t;
          },
        };
      },
      eR = { showLoading: !0, preload: 1 },
      eP = "is-lazyloading",
      eA = "is-lazyloaded",
      eC = "has-lazyerror",
      eO = () => {
        let e;
        function t() {
          let t = e?.getOptions().Lazyload;
          return a(t) ? { ...eR, ...t } : eR;
        }
        function n() {
          if (!e) return;
          let n = [...e.getVisibleSlides()],
            o = t().preload;
          if (o > 0) {
            let t = e.getPosition(),
              i = e.getViewportDim();
            n.push(
              ...e.getVisibleSlides(t + i * o),
              ...e.getVisibleSlides(t - i * o),
            );
          }
          for (let o of n)
            !(function (n) {
              let o = n.el;
              if (!o) return;
              let i = "[data-lazy-src],[data-lazy-srcset],[data-lazy-bg]",
                r = Array.from(o.querySelectorAll(i));
              for (let l of (o.matches(i) && r.push(o), r)) {
                let o = l.dataset.lazySrc,
                  i = l.dataset.lazySrcset,
                  r = l.dataset.lazySizes,
                  a = l.dataset.lazyBg,
                  s =
                    (l instanceof HTMLImageElement ||
                      l instanceof HTMLSourceElement) &&
                    (o || i),
                  c = l instanceof HTMLElement && a;
                if (!(s || c)) continue;
                let u = o || i || a;
                if (u) {
                  if (s && u) {
                    let a =
                      l.parentElement?.classList.contains("f-panzoom__wrapper");
                    (t().showLoading && e?.showLoading(n),
                      l.addEventListener("load", () => {
                        (e?.hideLoading(n),
                          b(l, eC),
                          l instanceof HTMLImageElement
                            ? l
                                .decode()
                                .then(() => {
                                  (b(l, eP), v(l, eA));
                                })
                                .catch(() => {
                                  (b(l, eP), v(l, eA));
                                })
                            : (b(l, eP), v(l, eA)),
                          a || e?.emit("lazyLoad:loaded", n, l, u));
                      }),
                      l.addEventListener("error", () => {
                        (e?.hideLoading(n),
                          b(l, eP),
                          v(l, eC),
                          a || e?.emit("lazyLoad:error", n, l, u));
                      }),
                      l.classList.add("f-lazyload"),
                      l.classList.add(eP),
                      a || e?.emit("lazyLoad:load", n, l, u),
                      o && (l.src = o),
                      i && (l.srcset = i),
                      r && (l.sizes = r));
                  } else
                    c &&
                      (document.body.contains(l) ||
                        (document.createElement("img").src = a),
                      (l.style.backgroundImage = `url('${a}')`));
                  (delete l.dataset.lazySrc,
                    delete l.dataset.lazySrcset,
                    delete l.dataset.lazySizes,
                    delete l.dataset.lazyBg);
                }
              }
            })(o);
        }
        return {
          init: function (t) {
            (e = t).on("render", n);
          },
          destroy: function () {
            (e?.off("render", n), (e = void 0));
          },
        };
      },
      eI = '<svg width="24" height="24" viewBox="0 0 24 24" tabindex="-1">',
      ez = "</svg>",
      ek = {
        prevTpl: eI + '<path d="M15 3l-9 9 9 9"></path>' + ez,
        nextTpl: eI + '<path d="M9 3l9 9-9 9"></path>' + ez,
      },
      e$ = () => {
        let e, t, n;
        function o() {
          let t = e?.getOptions().Arrows;
          return a(t) ? { ...ek, ...t } : ek;
        }
        function i(t) {
          if (!e) return;
          let n =
              `<button data-carousel-go-${t} tabindex="0" class="f-button is-arrow is-${t}" title="{{${t.toUpperCase()}}}">` +
              o()[`${t}Tpl`] +
              "</button",
            i = u(e.localize(n)) || void 0;
          return (i && v(i, o()[`${t}Class`]), i);
        }
        function r() {
          (t?.remove(),
            (t = void 0),
            n?.remove(),
            (n = void 0),
            e?.getContainer()?.classList.remove("has-arrows"));
        }
        function l() {
          e && !1 !== e.getOptions().Arrows && e.getPages().length > 1
            ? (!(function () {
                if (!e) return;
                let o = e.getViewport();
                o &&
                  (!t &&
                    (t = i("prev")) &&
                    o.insertAdjacentElement("beforebegin", t),
                  !n &&
                    (n = i("next")) &&
                    o.insertAdjacentElement("afterend", n),
                  E(e.getContainer(), "has-arrows", !!(t || n)));
              })(),
              e &&
                (t?.toggleAttribute("aria-disabled", !e.canGoPrev()),
                n?.toggleAttribute("aria-disabled", !e.canGoNext())))
            : r();
        }
        return {
          init: function (t) {
            e = t.on(["change", "refresh"], l);
          },
          destroy: function () {
            (r(), e?.off(["change", "refresh"], l), (e = void 0));
          },
        };
      },
      eF =
        '<circle cx="11" cy="11" r="7.5"/><path d="m21 21-4.35-4.35M8 11h6"/>',
      e_ = '<g><line x1="11" y1="8" x2="11" y2="14"></line></g>' + eF,
      eH = {};
    for (let [e, t] of Object.entries({
      moveLeft: [
        "moveLeft",
        "MOVE_LEFT",
        '<path d="M5 12h14M5 12l6 6M5 12l6-6"/>',
      ],
      moveRight: [
        "moveRight",
        "MOVE_RIGHT",
        '<path d="M5 12h14M13 18l6-6M13 6l6 6"/>',
      ],
      moveUp: ["moveUp", "MOVE_UP", '<path d="M12 5v14M18 11l-6-6M6 11l6-6"/>'],
      moveDown: [
        "moveDown",
        "MOVE_DOWN",
        '<path d="M12 5v14M18 13l-6 6M6 13l6 6"/>',
      ],
      zoomOut: ["zoomOut", "ZOOM_OUT", eF],
      zoomIn: ["zoomIn", "ZOOM_IN", e_],
      toggleFull: ["toggleFull", "TOGGLE_FULL", e_],
      iterateZoom: ["iterateZoom", "ITERATE_ZOOM", e_],
      toggle1to1: [
        "toggleFull",
        "TOGGLE_FULL",
        '<path d="M3.51 3.07c5.74.02 11.48-.02 17.22.02 1.37.1 2.34 1.64 2.18 3.13 0 4.08.02 8.16 0 12.23-.1 1.54-1.47 2.64-2.79 2.46-5.61-.01-11.24.02-16.86-.01-1.36-.12-2.33-1.65-2.17-3.14 0-4.07-.02-8.16 0-12.23.1-1.36 1.22-2.48 2.42-2.46Z"/><path d="M5.65 8.54h1.49v6.92m8.94-6.92h1.49v6.92M11.5 9.4v.02m0 5.18v0"/>',
      ],
      rotateCCW: [
        "rotateCCW",
        "ROTATE_CCW",
        '<path d="M15 4.55a8 8 0 0 0-6 14.9M9 15v5H4M18.37 7.16v.01M13 19.94v.01M16.84 18.37v.01M19.37 15.1v.01M19.94 11v.01"/>',
      ],
      rotateCW: [
        "rotateCW",
        "ROTATE_CW",
        '<path d="M9 4.55a8 8 0 0 1 6 14.9M15 15v5h5M5.63 7.16v.01M4.06 11v.01M4.63 15.1v.01M7.16 18.37v.01M11 19.94v.01"/>',
      ],
      flipX: [
        "flipX",
        "FLIP_X",
        '<path d="M12 3v18M16 7v10h5L16 7M8 7v10H3L8 7"/>',
      ],
      flipY: [
        "flipY",
        "FLIP_Y",
        '<path d="M3 12h18M7 16h10L7 21v-5M7 8h10L7 3v5"/>',
      ],
      reset: [
        "reset",
        "RESET",
        '<path d="M20 11A8.1 8.1 0 0 0 4.5 9M4 5v4h4M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"/>',
      ],
      toggleFS: [
        "toggleFS",
        "TOGGLE_FS",
        '<g><path d="M14.5 9.5 21 3m0 0h-6m6 0v6M3 21l6.5-6.5M3 21v-6m0 6h6"/></g><g><path d="m14 10 7-7m-7 7h6m-6 0V4M3 21l7-7m0 0v6m0-6H4"/></g>',
      ],
    }))
      eH[e] = {
        tpl: `<button data-panzoom-action="${t[0]}" class="f-button" title="{{${t[1]}}}"><svg>${t[2]}</svg></button>`,
      };
    let eD =
        (((k = {}).Left = "left"),
        (k.middle = "middle"),
        (k.right = "right"),
        k),
      eV = {
        counter: {
          tpl: '<div class="f-counter"><span data-carousel-page></span>/<span data-carousel-pages></span></div>',
        },
        download: {
          tpl: '<button data-carousel-download class="f-button" title="{{DOWNLOAD}}"><svg><path d="M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M7 11l5 5 5-5M12 4v12"/></svg></button>',
        },
        autoplay: {
          tpl: '<button data-autoplay-action="toggle" class="f-button" title="{{TOGGLE_AUTOPLAY}}"><svg><g><path d="M5 3.5 19 12 5 20.5Z"/></g><g><path d="M8 4v15M17 4v15"/></g></svg></button>',
        },
        thumbs: {
          tpl: '<button data-thumbs-action="toggle" class="f-button" title="{{TOGGLE_THUMBS}}"><svg><rect width="18" height="14" x="3" y="3" rx="2"/><path d="M4 21h1M9 21h1M14 21h1M19 21h1"/></svg></button>',
        },
        ...eH,
      },
      ej = {
        absolute: !1,
        display: {
          left: [],
          middle: [
            "zoomIn",
            "zoomOut",
            "toggle1to1",
            "rotateCCW",
            "rotateCW",
            "flipX",
            "flipY",
            "reset",
          ],
          right: [],
        },
        enabled: "auto",
        items: {},
      },
      eq = () => {
        let e, t;
        function n(t) {
          let n = e?.getOptions().Toolbar,
            o = (a(n) ? { ...ej, ...n } : ej)[t];
          return o && "function" == typeof o && e ? o(e) : o;
        }
        function o() {
          if (!e?.getOptions().Toolbar || !e || t) return;
          let o = e.getContainer();
          if (!o) return;
          let i = n("enabled");
          if (!i) return;
          let r = n("absolute"),
            l = e.getSlides().length > 1,
            c = !1,
            d = !1;
          for (let t of e.getSlides())
            (t.panzoomRef && (c = !0),
              (t.downloadSrc || ("image" === t.type && t.src)) && (d = !0));
          let f = e.getPlugins().Thumbs?.isEnabled() || !1,
            g = (l && e.getPlugins().Autoplay) || !1,
            p =
              e.getPlugins().Fullscreen &&
              (document.fullscreenEnabled || document.webkitFullscreenEnabled);
          if (("auto" === i && (i = c), !i)) return;
          (t = o.querySelector(".f-carousel__toolbar") || void 0) ||
            v((t = document.createElement("div")), "f-carousel__toolbar");
          let h = n("display"),
            y = m({}, eV, n("items"));
          for (let n of ["left", "middle", "right"]) {
            let o = h[n] || [],
              i = document.createElement("div");
            for (let t of (v(i, `f-carousel__toolbar__column is-${n}`), o)) {
              let n;
              if (s(t)) {
                if (
                  ("counter" === t && !l) ||
                  ("autoplay" === t && !g) ||
                  (eH[t] && !c) ||
                  ("fullscreen" === t && !p) ||
                  ("thumbs" === t && !f) ||
                  ("download" === t && !d)
                )
                  continue;
                n = y[t];
              }
              if ((a(t) && (n = t), n && n.tpl)) {
                let t = e.localize(n.tpl),
                  o = u(
                    (t = t
                      .split("<svg>")
                      .join(
                        '<svg tabindex="-1" width="24" height="24" viewBox="0 0 24 24">',
                      )),
                  );
                o &&
                  ("function" == typeof n.click &&
                    e &&
                    o.addEventListener("click", (t) => {
                      (t.preventDefault(),
                        t.stopPropagation(),
                        "function" == typeof n.click && e && n.click(e, t));
                    }),
                  i.append(o));
              }
            }
            t.append(i);
          }
          if (t.childElementCount) {
            if ((r && v(t, "is-absolute"), !t.parentElement)) {
              let e = n("parentEl");
              e
                ? e.insertAdjacentElement("afterbegin", t)
                : o.insertAdjacentElement("afterbegin", t);
            }
            o.contains(t) &&
              (v(o, "has-toolbar"), r && v(o, "has-absolute-toolbar"));
          }
        }
        return {
          init: function (t) {
            ((e = t), e?.on("initSlides", o));
          },
          destroy: function () {
            (e?.off("initSlides", o),
              b(e?.getContainer(), "has-toolbar has-absolute-toolbar"),
              t?.remove(),
              (t = void 0));
          },
          add: function (e, t) {
            eV[e] = t;
          },
          isEnabled: function () {
            return !!t;
          },
        };
      },
      eN = {
        autoStart: !0,
        pauseOnHover: !0,
        showProgressbar: !0,
        timeout: 2e3,
      },
      eB = () => {
        let e,
          t,
          n = !1,
          o = !1,
          i = !1,
          r = null;
        function l(t) {
          let n = e?.getOptions().Autoplay,
            o = (a(n) ? { ...eN, ...n } : eN)[t];
          return o && "function" == typeof o && e ? o(e) : o;
        }
        function s() {
          (clearTimeout(t), (t = void 0));
        }
        function c() {
          !e ||
            !n ||
            i ||
            o ||
            t ||
            !e.isSettled() ||
            (function () {
              for (let t of e?.getPage()?.slides || [])
                if (0 === t.state) return !0;
              return !1;
            })() ||
            ((function () {
              if (!e || (f(), !l("showProgressbar"))) return;
              let t = l("progressbarParentEl");
              if (
                (!t &&
                  e.getPlugins().Toolbar?.isEnabled() &&
                  (t = e.getContainer()),
                !t && e.getPlugins().Toolbar?.isEnabled() !== !0)
              ) {
                let n = e.getPages()[0]?.slides || [],
                  o = e.getPage()?.slides || [];
                1 === n.length && 1 === o.length && (t = o[0].el);
              }
              if ((t || (t = e.getViewport()), !t)) return;
              (v((r = document.createElement("div")), "f-progressbar"),
                t.prepend(r));
              let n = l("timeout") || 1e3;
              r.style.animationDuration = `${n}ms`;
            })(),
            (t = setTimeout(() => {
              if (e && n && !o) {
                if (
                  !e.isInfinite() &&
                  e.getPageIndex() === e.getPages().length - 1
                )
                  return void e.goTo(0);
                e.next();
              }
            }, l("timeout"))));
        }
        function u() {
          if (
            !e ||
            e.getPages().length < 2 ||
            !1 === e.getOptions().Autoplay ||
            n
          )
            return;
          ((n = !0),
            e.emit("autoplay:start", l("timeout")),
            v(e.getContainer(), "has-autoplay"),
            e.getTween()?.on("start", b));
          let t = e?.getContainer();
          (t &&
            l("pauseOnHover") &&
            matchMedia("(hover: hover)").matches &&
            (t.addEventListener("mouseenter", E, !1),
            t.addEventListener("mouseleave", w, !1)),
            e.on("change", h),
            e.on("settle", y),
            e.on("contentReady", m),
            e.on("panzoom:touchStart", d),
            e.on("panzoom:wheel", d),
            e.isSettled() && c());
        }
        function d() {
          if ((s(), f(), e)) {
            if (n) {
              (e.emit("autoplay:end"), e.getTween()?.off("start", b));
              let t = e.getContainer();
              t &&
                (t.classList.remove("has-autoplay"),
                t.removeEventListener("mouseenter", E, !1),
                t.removeEventListener("mouseleave", w, !1));
            }
            (e.off("change", h),
              e.off("settle", y),
              e.off("contentReady", m),
              e.off("panzoom:touchStart", d),
              e.off("panzoom:wheel", d));
          }
          ((n = !1), (o = !1));
        }
        function f() {
          r && (r.remove(), (r = null));
        }
        function g() {
          e && e.getPages().length > 1 && l("autoStart") && u();
        }
        function m() {
          c();
        }
        function p(e, t) {
          let n = t.target;
          n &&
            !t.defaultPrevented &&
            "toggle" === n.dataset.autoplayAction &&
            x.toggle();
        }
        function h() {
          e && (e?.isInfinite() || e.getPageIndex() !== e.getPages().length - 1)
            ? (f(), s())
            : d();
        }
        function y() {
          c();
        }
        function b() {
          (s(), f());
        }
        function E() {
          ((i = !0), n && (f(), s()));
        }
        function w() {
          ((i = !1), n && !o && e?.isSettled() && c());
        }
        let x = {
          init: function (t) {
            ((e = t).on("ready", g), e.on("click", p));
          },
          destroy: function () {
            (d(), e?.off("ready", g), e?.off("click", p), (e = void 0));
          },
          isEnabled: () => n,
          pause: function () {
            ((o = !0), s());
          },
          resume: function () {
            ((o = !1), n && !i && c());
          },
          start() {
            u();
          },
          stop() {
            d();
          },
          toggle() {
            n ? d() : u();
          },
        };
        return x;
      },
      eW = {
        Carousel: { Lazyload: { showLoading: !1 } },
        minCount: 2,
        showOnStart: !0,
        thumbTpl:
          '<button aria-label="Slide to #{{page}}"><img draggable="false" alt="{{alt}}" data-lazy-src="{{src}}" /></button>',
        type: "modern",
      },
      eZ = () => {
        let e,
          t,
          n,
          i,
          r,
          l = 0,
          s = 0,
          c = !0;
        function d(t) {
          let n = e?.getOptions().Thumbs,
            o = (a(n) ? { ...eW, ...n } : eW)[t];
          return o && "function" == typeof o && e ? o(e) : o;
        }
        function f() {
          if (!e || e?.getOptions().Thumbs === !1) return !1;
          let t = 0;
          for (let n of e.getSlides()) n.thumbSrc && t++;
          return t >= d("minCount");
        }
        function g() {
          return "modern" === d("type");
        }
        function p() {
          return "scrollable" === d("type");
        }
        function y() {
          let t = [];
          for (let n of e?.getSlides() || [])
            t.push({ index: n.index, class: n.thumbClass, html: b(n) });
          return t;
        }
        function b(e) {
          let t = e.thumb
              ? e.thumb instanceof HTMLImageElement
                ? e.thumb.src
                : e.thumb
              : e.thumbSrc || void 0,
            n =
              void 0 === e.thumbAlt
                ? `Thumbnail #${(e.index || 0) + 1}`
                : e.thumbAlt + "",
            o = d("thumbTpl");
          return (
            (o = ex(o, "{{alt}}", n)),
            (o = ex(o, "{{src}}", t + "")),
            (o = ex(o, "{{index}}", `${e.index || 0}`)),
            (o = ex(o, "{{page}}", `${(e.index || 0) + 1}`))
          );
        }
        function E(e) {
          return `<div index="${e.index || 0}" class="f-thumbs__slide ${e.class || ""}">${e.html || ""}</div>`;
        }
        function w(t = !1) {
          let o = e?.getContainer();
          if (!e || !o || n || !f()) return;
          let i = d("Carousel")?.classes || {};
          if (((i.container = i.container || "f-thumbs"), !n)) {
            let e = o.nextElementSibling;
            e?.classList.contains(i.container) && (n = e);
          }
          if (!n) {
            n = document.createElement("div");
            let e = d("parentEl");
            e
              ? e.insertAdjacentElement("beforeend", n)
              : o.insertAdjacentElement("afterend", n);
          }
          (v(n, i.container),
            v(n, "f-thumbs"),
            v(n, `is-${d("type")}`),
            t && v(n, "is-hidden"));
        }
        function x() {
          if (!n || !p()) return;
          v((i = document.createElement("div")), "f-thumbs__viewport");
          let t = "";
          for (let e of y()) "string" == typeof (e.html || "") && (t += E(e));
          ((i.innerHTML = t),
            n.append(i),
            n.addEventListener("click", (t) => {
              t.preventDefault();
              let n = t.target.closest("[index]"),
                o = parseInt(n?.getAttribute("index") || "-1");
              e && o > -1 && e.goTo(o);
            }),
            (r = new IntersectionObserver(
              (e) => {
                e.forEach((e) => {
                  e.isIntersecting &&
                    e.target instanceof HTMLImageElement &&
                    ((e.target.src =
                      e.target.getAttribute("data-lazy-src") + ""),
                    e.target.removeAttribute("data-lazy-src"),
                    r?.unobserve(e.target));
                });
              },
              { root: i, rootMargin: "100px" },
            )),
            n.querySelectorAll("[data-lazy-src]").forEach((e) => {
              r?.observe(e);
            }),
            e?.emit("thumbs:ready"));
        }
        function M() {
          if (!o || !e || !n || p() || t) return;
          let i = y();
          if (!i.length) return;
          let r = m(
            {},
            {
              Sync: { target: e },
              Lazyload: { preload: 1 },
              slides: i,
              classes: {
                container: "f-thumbs",
                viewport: "f-thumbs__viewport",
                slide: "f-thumbs__slide",
              },
              center: !0,
              fill: !g(),
              infinite: !1,
              dragFree: !0,
              rtl: e.getOptions().rtl || !1,
              slidesPerPage: (e) => {
                let t = 0;
                return (g() &&
                  ((function () {
                    if (!g() || !n) return;
                    let e = (e) =>
                      (n &&
                        parseFloat(
                          getComputedStyle(n).getPropertyValue(
                            "--f-thumb-" + e,
                          ),
                        )) ||
                      0;
                    ((l = e("width")), (s = e("clip-width")));
                  })(),
                  (t = (l - s) * 4)),
                e && e.getTotalSlideDim() <= e.getViewportDim() - t)
                  ? 1 / 0
                  : 1;
              },
            },
            eW.Carousel || {},
            d("Carousel") || {},
          );
          ((t = o(n, r, { Sync: eT, Lazyload: eO })).on("ready", () => {
            (v(n, "is-syncing"),
              e?.emit("thumbs:ready"),
              g() && e?.on("render", R));
          }),
            t.on("destroy", () => {
              e?.emit("thumbs:destroy");
            }),
            t.init(),
            t.getGestures()?.on("start", () => {
              c = !1;
            }),
            t.on("click", (e, t) => {
              let n = t.target;
              if (n) {
                let e = n.matches("button") ? n : n.firstElementChild;
                e &&
                  e.matches("button") &&
                  (t.preventDefault(), e.focus({ preventScroll: !0 }));
              }
            }),
            v(e.getContainer(), "has-thumbs"),
            k());
        }
        function L() {
          f() && d("showOnStart") && (w(), x());
        }
        function S() {
          f() &&
            (M(),
            e?.on("addSlide", A),
            e?.on("removeSlide", C),
            e?.on("click", O),
            e?.on("refresh", I),
            e?.getGestures()?.on("start", T),
            z(!0));
        }
        function T() {
          ((c = !0),
            document.activeElement?.closest(".f-thumbs") &&
              document.activeElement?.blur());
        }
        function R() {
          (n?.classList.toggle(
            "is-syncing",
            e?.hasNavigated() === !1 || e?.getTween()?.isRunning(),
          ),
            k(),
            e?.getGestures()?.isPointerDown() &&
              (function () {
                if (!g() || !e || !t || !c) return;
                let n = t.getTween(),
                  o = t.getPages(),
                  i = e.getPageIndex() || 0,
                  r = e.getPageProgress() || 0;
                if (!e || !o || !o[i] || !n) return;
                let a = n.isRunning()
                  ? n.getCurrentValues().pos
                  : t.getPosition();
                if (void 0 === a) return;
                let u = o[i].pos + r * (l - s);
                ((u = h(o[0].pos, u, o[o.length - 1].pos)),
                  n.from({ pos: a }).to({ pos: u }).start());
              })());
        }
        function P() {
          ((c = !0), z());
        }
        function A(e, n) {
          let o = { html: b(n) };
          if (t) t.add(o, n.index);
          else if (i) {
            let e = u(E(o));
            if (e) {
              i.append(e);
              let t = e.querySelector("img");
              t && r?.observe(t);
            }
          }
        }
        function C(e, n) {
          t
            ? t.remove(n.index)
            : i && i.querySelector(`[index="${n.index}"]`)?.remove();
        }
        function O(e, t) {
          let o = t.target;
          !t.defaultPrevented &&
            o?.dataset?.thumbsAction === "toggle" &&
            (n || (w(!0), x(), M()), n && n.classList.toggle("is-hidden"));
        }
        function I() {
          z();
        }
        function z(t = !1) {
          if (!e || !i || !p()) return;
          let n = e.getPageIndex();
          i.querySelectorAll(".is-selected").forEach((e) => {
            e.classList.remove("is-selected");
          });
          let o = i.querySelector(`[index="${n}"]`);
          if (o) {
            o.classList.add("is-selected");
            let e = i.getBoundingClientRect(),
              n = o.getBoundingClientRect(),
              r = o.offsetTop - i.offsetTop - 0.5 * e.height + 0.5 * n.height,
              l = o.scrollLeft - i.scrollLeft - 0.5 * e.width + 0.5 * n.width;
            i.scrollTo({ top: r, left: l, behavior: t ? "instant" : "smooth" });
          }
        }
        function k() {
          if (!g() || !e || !t) return;
          let n = t?.getSlides() || [],
            o = -0.5 * l;
          for (let t of n) {
            let n = t.el;
            if (!n) continue;
            let i = e.getPageProgress(t.index) || 0;
            ((i = Math.max(-1, Math.min(1, i))) > -1 &&
              i < 1 &&
              (o += 0.5 * l * (1 - Math.abs(i))),
              (i = Math.round(1e4 * i) / 1e4),
              (o = Math.round(1e4 * o) / 1e4),
              n.style.setProperty("--progress", `${Math.abs(i)}`),
              n.style.setProperty("--shift", `${e?.isRTL() ? -1 * o : o}px`),
              i > -1 && i < 1 && (o += 0.5 * l * (1 - Math.abs(i))));
          }
        }
        return {
          init: function (t, n) {
            ((o = n),
              (e = t).on("ready", S),
              e.on("initSlides", L),
              e.on("change", P));
          },
          destroy: function () {
            (p() && e?.emit("thumbs:destroy"),
              e?.off("ready", S),
              e?.off("initSlides", L),
              e?.off("change", P),
              e?.off("render", R),
              e?.off("addSlide", A),
              e?.off("click", O),
              e?.off("refresh", I),
              e?.getGestures()?.off("start", T),
              e?.getContainer()?.classList.remove("has-thumbs"),
              (e = void 0),
              t?.destroy(),
              (t = void 0),
              n?.remove(),
              (n = void 0));
          },
          getCarousel: function () {
            return t;
          },
          getContainer: function () {
            return n;
          },
          getType: function () {
            return d("type");
          },
          isEnabled: f,
        };
      },
      eG = {
        autosize: !1,
        iframeAttr: { allow: "autoplay; fullscreen", scrolling: "auto" },
        preload: !1,
      },
      eU = () => {
        let e;
        function t() {
          let t = e?.getOptions().Html;
          return a(t) ? { ...eG, ...t } : eG;
        }
        function n(e, n) {
          let o = e[n];
          return (
            void 0 === o && (o = t()[n]),
            "true" === o || ("false" !== o && o)
          );
        }
        function o(e, t) {
          let n = t.type,
            o = t.src;
          if (!n && s(o)) {
            if (
              ("#" === o.charAt(0)
                ? (n = "inline")
                : o.match(
                      /(^data:image\/[a-z0-9+\/=]*,)|(\.((a)?png|avif|gif|jp(g|eg)|pjp(eg)?|jfif|svg|webp|bmp|ico|tif(f)?)((\?|#).*)?$)/i,
                    )
                  ? (n = "image")
                  : o.match(/\.(pdf)((\?|#).*)?$/i)
                    ? (n = "pdf")
                    : o.match(/\.(html|php)((\?|#).*)?$/i) && (n = "iframe"),
              !n)
            ) {
              let e = o.match(
                /(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:(?:(?:maps\/(?:place\/(?:.*)\/)?\@(.*),(\d+.?\d+?)z))|(?:\?ll=))(.*)?/i,
              );
              e &&
                ((o = `https://maps.google.${e[1]}/?ll=${(e[2] ? e[2] + "&z=" + Math.floor(parseFloat(e[3])) + (e[4] ? e[4].replace(/^\//, "&") : "") : e[4] + "").replace(/\?/, "&")}&output=${e[4] && e[4].indexOf("layer=c") > 0 ? "svembed" : "embed"}`),
                (n = "gmap"));
            }
            if (!n) {
              let e = o.match(
                /(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:maps\/search\/)(.*)/i,
              );
              e &&
                ((o = `https://maps.google.${e[1]}/maps?q=${e[2].replace("query=", "q=").replace("api=1", "")}&output=embed`),
                (n = "gmap"));
            }
            n && ((t.src = o), (t.type = n));
          }
        }
        function i(o, i) {
          ("iframe" === i.type || "pdf" === i.type || "gmap" === i.type) &&
            (function (o) {
              let i = o.el,
                r = o.src;
              if (!e || !i || !r) return;
              let l = document.createElement("iframe");
              for (let [e, n] of (v(l, "f-iframe"),
              Object.entries(t().iframeAttr || {})))
                l.setAttribute(e, n);
              l.onerror = () => {
                ((o.state = 2), e?.showError(o, "{{IFRAME_ERROR}}"));
              };
              let a = document.createElement("div");
              if ((v(a, "f-html"), a.append(l), o.width)) {
                let e = `${o.width}`;
                (e.match(/^\d+$/) && (e += "px"), (a.style.maxWidth = `${e}`));
              }
              if (o.height) {
                let e = `${o.height}`;
                (e.match(/^\d+$/) && (e += "px"), (a.style.maxHeight = `${e}`));
              }
              if (o.aspectRatio) {
                let e = i.getBoundingClientRect();
                ((a.style.aspectRatio = `${o.aspectRatio}`),
                  (a.style[e.width > e.height ? "width" : "height"] = "auto"),
                  (a.style[e.width > e.height ? "maxWidth" : "maxHeight"] =
                    "none"));
              }
              ((o.htmlEl = a),
                (o.contentEl = l),
                v(i, `has-html has-iframe has-${o.type}`),
                i.prepend(a));
              let s = n(o, "preload"),
                c = n(o, "autosize");
              "iframe" === o.type && (s || c)
                ? ((o.state = 0),
                  e.showLoading(o),
                  v(i, "is-loading"),
                  (l.onload = () => {
                    if (!e || 1 !== e.getState() || !l.src.length) return;
                    o.state = 1;
                    let t = "true" !== l.dataset.ready;
                    ((l.dataset.ready = "true"),
                      (function (e) {
                        let t = e.contentEl,
                          o = t?.parentElement,
                          i = o?.style,
                          r = n(e, "autosize"),
                          l = e.width || 0,
                          a = e.height || 0;
                        if ((l && a && (r = !1), t && o && i && r)) {
                          try {
                            let e = window.getComputedStyle(o),
                              n =
                                parseFloat(e.paddingLeft) +
                                parseFloat(e.paddingRight),
                              r =
                                parseFloat(e.paddingTop) +
                                parseFloat(e.paddingBottom),
                              s = t.contentWindow;
                            if (s) {
                              let e = s.document,
                                t = e.getElementsByTagName("html")[0],
                                o = e.body;
                              i.width = "";
                              let c = window.getComputedStyle(o),
                                u =
                                  parseFloat(c.marginLeft) +
                                  parseFloat(c.marginRight),
                                d = o.style.overflow || "";
                              ((o.style.overflow = "hidden"),
                                (l = l || o.scrollWidth + u + n),
                                (i.flex = "0 0 auto"),
                                (i.width = `${l}px`),
                                (i.height = `${o.scrollHeight}px`),
                                (o.style.overflow = d),
                                (a =
                                  Math.max(
                                    t.scrollHeight,
                                    Math.ceil(t.getBoundingClientRect().height),
                                  ) + r));
                            }
                          } catch (e) {}
                          if (l || a) {
                            let e = { flex: "0 1 auto", width: "", height: "" };
                            (l && "auto" !== l && (e.width = `${l}px`),
                              a && "auto" !== a && (e.height = `${a}px`),
                              Object.assign(i, e));
                          }
                        }
                      })(o),
                      e.hideLoading(o),
                      t && e.emit("contentReady", o),
                      b(i, "is-loading"));
                  }),
                  (l.src = `${r}`))
                : ((l.src = `${r}`), e.emit("contentReady", o));
            })(i);
        }
        function r(t, n) {
          ("iframe" === n.type || "pdf" === n.type || "gmap" === n.type) &&
            (e?.hideError(n),
            n.contentEl?.remove(),
            (n.contentEl = void 0),
            n.htmlEl?.remove(),
            (n.htmlEl = void 0));
        }
        return {
          init: function (t) {
            ((e = t).on("addSlide", o),
              e.on("attachSlideEl", i),
              e.on("detachSlideEl", r));
          },
          destroy: function () {
            (e?.off("addSlide", o),
              e?.off("attachSlideEl", i),
              e?.off("detachSlideEl", r),
              (e = void 0));
          },
        };
      },
      eX = (e, t = {}) => {
        let n = new URLSearchParams(new URL(e).search),
          o = new URLSearchParams();
        for (let [e, i] of [...n, ...Object.entries(t)]) {
          let t = i + "";
          if ("t" === e) {
            let e = t.match(/((\d*)m)?(\d*)s?/);
            e &&
              o.set(
                "start",
                60 * parseInt(e[2] || "0") + parseInt(e[3] || "0") + "",
              );
          } else o.set(e, t);
        }
        let i = o + "",
          r = e.match(/#t=((.*)?\d+s)/);
        return (r && (i += `#t=${r[1]}`), i);
      },
      eY = {
        autoplay: !1,
        html5videoTpl: `<video class="f-html5video" playsinline controls controlsList="nodownload" poster="{{poster}}">
    <source src="{{src}}" type="{{format}}" />Sorry, your browser doesn't support embedded videos.</video>`,
        iframeAttr: {
          allow: "autoplay; fullscreen",
          scrolling: "no",
          referrerPolicy: "strict-origin-when-cross-origin",
          credentialless: "",
        },
        vimeo: { byline: 1, color: "00adef", controls: 1, dnt: 1, muted: 0 },
        youtube: { controls: 1, enablejsapi: 1, nocookie: 1, rel: 0, fs: 1 },
      },
      eK = () => {
        let e,
          t = !1;
        function n() {
          let t = e?.getOptions().Video;
          return a(t) ? { ...eY, ...t } : eY;
        }
        function o() {
          return e?.getPage()?.slides[0];
        }
        let i = (t) => {
          try {
            let n = JSON.parse(t.data);
            if ("https://player.vimeo.com" === t.origin) {
              if ("ready" === n.event)
                for (let n of Array.from(
                  e?.getContainer()?.getElementsByClassName("f-iframe") || [],
                ))
                  n instanceof HTMLIFrameElement &&
                    n.contentWindow === t.source &&
                    (n.dataset.ready = "true");
            } else if (
              t.origin.match(/^https:\/\/(www.)?youtube(-nocookie)?.com$/) &&
              "onReady" === n.event
            ) {
              let e = document.getElementById(n.id);
              e && (e.dataset.ready = "true");
            }
          } catch (e) {}
        };
        function r(e, t) {
          let o = t.src;
          if (!s(o)) return;
          let i = t.type;
          if (!i || "html5video" === i) {
            let e = o.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i);
            e &&
              ((i = "html5video"),
              (t.html5videoFormat =
                t.html5videoFormat ||
                "video/" + ("ogv" === e[1] ? "ogg" : e[1])));
          }
          if (!i || "youtube" === i) {
            let e = o.match(
              /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(?:watch\?(?:.*&)?v=|v\/|u\/|shorts\/|embed\/?)?(videoseries\?list=(?:.*)|[\w-]{11}|\?listType=(?:.*)&list=(?:.*))(?:.*)/i,
            );
            if (e) {
              let r = { ...n().youtube, ...(t.youtube || {}) },
                l = `www.youtube${r.nocookie ? "-nocookie" : ""}.com`,
                a = eX(o, r),
                s = encodeURIComponent(e[2]);
              ((t.videoId = s),
                (t.src = `https://${l}/embed/${s}?${a}`),
                (t.thumb =
                  t.thumb || `https://i.ytimg.com/vi/${s}/mqdefault.jpg`),
                (i = "youtube"));
            }
          }
          if (!i || "vimeo" === i) {
            let e = o.match(
              /^.+vimeo.com\/(?:\/)?(video\/)?([\d]+)((\/|\?h=)([a-z0-9]+))?(.*)?/,
            );
            if (e) {
              let r = eX(o, { ...n().vimeo, ...(t.vimeo || {}) }),
                l = encodeURIComponent(e[2]),
                a = e[5] || "";
              ((t.videoId = l),
                (t.src = `https://player.vimeo.com/video/${l}?${a ? `h=${a}${r ? "&" : ""}` : ""}${r}`),
                (i = "vimeo"));
            }
          }
          t.type = i;
        }
        function l(t, o) {
          ("html5video" === o.type &&
            (function (t) {
              let o = t.el,
                i = t.src;
              if (!e || !o || !i) return;
              let r = t.html5videoTpl || n().html5videoTpl,
                l = t.html5videoFormat || n().html5videoFormat;
              if (!r) return;
              let a = t.poster || (t.thumb && s(t.thumb) ? t.thumb : ""),
                c = u(
                  r
                    .replace(/\{\{src\}\}/gi, i + "")
                    .replace(/\{\{format\}\}/gi, l || "")
                    .replace(/\{\{poster\}\}/gi, a + ""),
                );
              if (!c) return;
              let d = document.createElement("div");
              (v(d, "f-html"),
                d.append(c),
                (t.contentEl = c),
                (t.htmlEl = d),
                v(o, `has-${t.type}`),
                o.prepend(d),
                g(t),
                e.emit("contentReady", t));
            })(o),
            ("youtube" === o.type || "vimeo" === o.type) &&
              (function (t) {
                let o = t.el,
                  i = t.src;
                if (!e || !o || !i) return;
                let r = document.createElement("iframe");
                for (let [e, o] of (v(r, "f-iframe"),
                r.setAttribute("id", `f-iframe_${t.videoId}`),
                Object.entries(n().iframeAttr || {})))
                  r.setAttribute(e, o);
                ("youtube" === t.type &&
                  (r.onload = () => {
                    e?.getState() === 1 &&
                      r.contentWindow?.postMessage(
                        JSON.stringify({
                          event: "listening",
                          id: r.getAttribute("id"),
                        }),
                        "*",
                      );
                  }),
                  (r.onerror = () => {
                    e?.showError(t, "{{IFRAME_ERROR}}");
                  }));
                let l = document.createElement("div");
                (v(l, "f-html"),
                  l.append(r),
                  (t.contentEl = r),
                  (t.htmlEl = l),
                  v(o, `has-html has-iframe has-${t.type}`),
                  (r.src = `${t.src}`),
                  o.prepend(l),
                  g(t),
                  e.emit("contentReady", t));
              })(o));
        }
        function c(e, t) {
          (("html5video" === t.type ||
            "youtube" === t.type ||
            "vimeo" === t.type) &&
            (t.contentEl?.remove(),
            (t.contentEl = void 0),
            t.htmlEl?.remove(),
            (t.htmlEl = void 0)),
            t.poller && clearTimeout(t.poller));
        }
        function d() {
          t = !1;
        }
        function f() {
          if (t) return;
          t = !0;
          let e = o();
          (e && void 0 !== e.autoplay ? e.autoplay : n().autoplay) &&
            (!(function () {
              let e = o(),
                t = e?.el;
              if (t && e?.type === "html5video")
                try {
                  let e = t.querySelector("video");
                  if (e) {
                    let t = e.play();
                    void 0 !== t &&
                      t
                        .then(() => {})
                        .catch((t) => {
                          ((e.muted = !0), e.play());
                        });
                  }
                } catch (e) {}
              let n = e?.htmlEl;
              n instanceof HTMLIFrameElement &&
                n.contentWindow?.postMessage(
                  '{"event":"command","func":"stopVideo","args":""}',
                  "*",
                );
            })(),
            (function () {
              let e = o(),
                t = e?.type;
              if (!(e?.el && ("youtube" === t || "vimeo" === t))) return;
              let n = () => {
                if (
                  e.contentEl &&
                  e.contentEl instanceof HTMLIFrameElement &&
                  e.contentEl.contentWindow
                ) {
                  let t;
                  if ("true" === e.contentEl.dataset.ready) {
                    ((t =
                      "youtube" === e.type
                        ? { event: "command", func: "playVideo" }
                        : { method: "play", value: "true" }) &&
                      e.contentEl.contentWindow.postMessage(
                        JSON.stringify(t),
                        "*",
                      ),
                      (e.poller = void 0));
                    return;
                  }
                  "youtube" === e.type &&
                    ((t = {
                      event: "listening",
                      id: e.contentEl.getAttribute("id"),
                    }),
                    e.contentEl.contentWindow.postMessage(
                      JSON.stringify(t),
                      "*",
                    ));
                }
                e.poller = setTimeout(n, 250);
              };
              n();
            })());
        }
        function g(e) {
          let t = e?.htmlEl;
          if (
            e &&
            t &&
            ("html5video" === e.type ||
              "youtube" === e.type ||
              "vimeo" === e.type)
          ) {
            if (
              ((t.style.aspectRatio = ""),
              (t.style.width = ""),
              (t.style.height = ""),
              (t.style.maxWidth = ""),
              (t.style.maxHeight = ""),
              e.width)
            ) {
              let n = `${e.width}`;
              (n.match(/^\d+$/) && (n += "px"), (t.style.maxWidth = `${n}`));
            }
            if (e.height) {
              let n = `${e.height}`;
              (n.match(/^\d+$/) && (n += "px"), (t.style.maxHeight = `${n}`));
            }
            if (e.aspectRatio) {
              let n = e.aspectRatio.split("/"),
                o = parseFloat(n[0].trim()),
                i = n[1] ? parseFloat(n[1].trim()) : 0;
              t.offsetHeight;
              let r = t.getBoundingClientRect(),
                l = (o && i ? o / i : o) < (r.width || 1) / (r.height || 1);
              ((t.style.aspectRatio = `${e.aspectRatio}`),
                (t.style.width = l ? "auto" : ""),
                (t.style.height = l ? "" : "auto"));
            }
          }
        }
        function m() {
          g(o());
        }
        return {
          init: function (t) {
            ((e = t).on("addSlide", r),
              e.on("attachSlideEl", l),
              e.on("detachSlideEl", c),
              e.on("ready", f),
              e.on("change", d),
              e.on("settle", f),
              e.on("refresh", m),
              window.addEventListener("message", i));
          },
          destroy: function () {
            (e?.off("addSlide", r),
              e?.off("attachSlideEl", l),
              e?.off("detachSlideEl", c),
              e?.off("ready", f),
              e?.off("change", d),
              e?.off("settle", f),
              e?.off("refresh", m),
              window.removeEventListener("message", i),
              (e = void 0));
          },
        };
      },
      eJ = {
        autoStart: !1,
        btnTpl:
          '<button data-fullscreen-action="toggle" class="f-button" title="{{TOGGLE_FULLSCREEN}}"><svg><g><path d="M8 3H5a2 2 0 0 0-2 2v3M21 8V5a2 2 0 0 0-2-2h-3M3 16v3a2 2 0 0 0 2 2h3M16 21h3a2 2 0 0 0 2-2v-3"/></g><g><path d="M15 19v-2a2 2 0 0 1 2-2h2M15 5v2a2 2 0 0 0 2 2h2M5 15h2a2 2 0 0 1 2 2v2M5 9h2a2 2 0 0 0 2-2V5"/></g></svg></button>',
      },
      eQ = "in-fullscreen-mode",
      e0 = () => {
        let e;
        function t(t) {
          let n = e?.getOptions().Fullscreen,
            o = (a(n) ? { ...eJ, ...n } : eJ)[t];
          return o && "function" == typeof o && e ? o(e) : o;
        }
        function n() {
          e?.getPlugins().Toolbar?.add("fullscreen", { tpl: t("btnTpl") });
        }
        function o() {
          if (t("autoStart")) {
            let e = r();
            e && s(e);
          }
        }
        function i(e, t) {
          let n = t.target;
          n &&
            !t.defaultPrevented &&
            "toggle" === n.dataset.fullscreenAction &&
            u();
        }
        function r() {
          return t("el") || e?.getContainer() || void 0;
        }
        function l() {
          let e = document;
          return e.fullscreenEnabled
            ? !!e.fullscreenElement
            : !!e.webkitFullscreenEnabled && !!e.webkitFullscreenElement;
        }
        function s(e) {
          let t,
            n = document;
          return (
            e || (e = n.documentElement),
            n.fullscreenEnabled
              ? (t = e.requestFullscreen())
              : n.webkitFullscreenEnabled &&
                (t = e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)),
            t &&
              t.then(() => {
                e.classList.add(eQ);
              }),
            t
          );
        }
        function c() {
          let e,
            t = document;
          return (
            t.fullscreenEnabled
              ? (e = t.fullscreenElement && t.exitFullscreen())
              : t.webkitFullscreenEnabled &&
                (e = t.webkitFullscreenElement && t.webkitExitFullscreen()),
            e &&
              e.then(() => {
                r()?.classList.remove(eQ);
              }),
            e
          );
        }
        function u() {
          if (l()) c();
          else {
            let e = r();
            e && s(e);
          }
        }
        return {
          init: function (t) {
            ((e = t).on("initPlugins", n), e.on("ready", o), e.on("click", i));
          },
          destroy: function () {
            (e?.off("initPlugins", n), e?.off("ready", o), e?.off("click", i));
          },
          exit: c,
          inFullscreen: l,
          request: s,
          toggle: u,
        };
      },
      e1 = !1,
      e2 = !1,
      e5 = !1,
      e4 = !1,
      e3 = () => {
        let e = new URL(document.URL).hash,
          t = e.slice(1).split("-"),
          n = t[t.length - 1],
          o = (n && /^\+?\d+$/.test(n) && parseInt(t.pop() || "1", 10)) || 1;
        return { urlHash: e, urlSlug: t.join("-"), urlIndex: o };
      },
      e6 = () => {
        let e = i?.getInstance(),
          t = e?.getState();
        return !!e && (0 === t || 1 === t);
      },
      e7 = () => {
        if (!i || e6()) return;
        let { urlSlug: e, urlIndex: t } = e3();
        if (!e) return;
        let n = document.querySelector(`[data-slug="${e}"]`);
        (n && i.fromTriggerEl(n),
          !e6() &&
            (n = document.querySelectorAll(`[data-fancybox="${e}"]`)[t - 1]) &&
            i.fromTriggerEl(n, { startIndex: t - 1 }),
          e6() &&
            n &&
            !n.closest("[inert]") &&
            n.scrollIntoView({
              behavior: "instant",
              block: "center",
              inline: "center",
            }));
      },
      e9 = (e) => {
        let t = e.getOptions().Hash,
          n = e.getSlide();
        return (n && (n.slug || n.fancybox || (a(t) ? t.slug : ""))) || "";
      },
      e8 = (e) => {
        let t = e9(e),
          n = e.getSlide();
        if (!n || !t) return "";
        let o = parseInt(n.index + "", 10) + 1,
          i = n.slug ? `#${n.slug}` : `#${t}-${o}`;
        return (
          2 > (e.getCarousel()?.getPages()?.length || 0) && (i = `#${t}`),
          i
        );
      },
      te = () => {
        if (!i || e5) return;
        let e = i?.getInstance(),
          t = e?.getCarousel(),
          { urlSlug: n, urlIndex: o } = e3(),
          r = e?.getOptions().Hash;
        if (!1 !== r) {
          if (e && 1 === e.getState() && t) {
            for (let e of t.getSlides() || [])
              if (
                e.slug === n ||
                ((e.fancybox === n || (a(r) && r.slug === n)) &&
                  e.index === o - 1)
              ) {
                ((e2 = !1), t.goTo(e.index));
                return;
              }
            ((e4 = !0), e.close(), (e4 = !1));
          }
          e7();
        }
      },
      tt = () => {
        i &&
          ((r = setTimeout(() => {
            ((e1 = !0), e7(), (e1 = !1));
          }, 300)),
          window.addEventListener("hashchange", te, !1));
      };
    function tn() {
      history.scrollRestoration &&
        l &&
        ((history.scrollRestoration = l), (l = void 0));
    }
    let to = () => {
      let e,
        t = "";
      function n() {
        if (!e || !e.isTopMost() || !1 === e.getOptions().Hash) return;
        if (e1) {
          let t = e.getOptions().sync;
          t &&
            t.goTo(e?.getCarousel()?.getPageIndex() || 0, {
              transition: !1,
              tween: !1,
            });
        }
        let n = e.getCarousel();
        if (!n || !e.getSlide()) return;
        let i = e9(e);
        if (!i) return;
        let { urlHash: r, urlSlug: a } = e3(),
          s = e8(e);
        (r !== s && (t = r),
          history.scrollRestoration &&
            !l &&
            ((l = history.scrollRestoration),
            (history.scrollRestoration = "manual"),
            window.addEventListener("beforeunload", tn)),
          n.on("change", o));
        let c = i !== a;
        try {
          (window.history[c ? "pushState" : "replaceState"](
            {},
            document.title,
            window.location.pathname + window.location.search + s,
          ),
            c && (e2 = !0));
        } catch (e) {}
      }
      function o() {
        if (
          !e ||
          !e.isTopMost() ||
          !1 === e.getOptions().Hash ||
          !e.getSlide() ||
          !e9(e)
        )
          return;
        let t = e8(e);
        e5 = !0;
        try {
          window.history.replaceState(
            {},
            document.title,
            window.location.pathname + window.location.search + t,
          );
        } catch (e) {}
        e5 = !1;
      }
      function a() {
        if (e && e.isTopMost() && !1 !== e.getOptions().Hash && !e4 && e9(e)) {
          e5 = !0;
          try {
            e2 &&
            !(function () {
              if (window.parent === window) return !1;
              try {
                var e = window.frameElement;
              } catch (t) {
                e = null;
              }
              return null === e
                ? "data:" === location.protocol
                : e.hasAttribute("sandbox");
            })() &&
            document.activeElement?.nodeName !== "IFRAME"
              ? window.history.back()
              : window.history.replaceState(
                  {},
                  document.title,
                  window.location.pathname + window.location.search + t,
                );
          } catch (e) {}
          e5 = !1;
        }
      }
      return {
        init: function (t) {
          (clearTimeout(r), (e = t).on("ready", n), e.on("close", a));
        },
        destroy: function () {
          (e?.off("ready", n), e?.off("close", a));
          let t = e?.getCarousel();
          (t && t.off("change", o),
            (e = void 0),
            i?.getInstance() ||
              (tn(), window.removeEventListener("beforeunload", tn)));
        },
      };
    };
    ((to.getInfoFromURL = e3),
      (to.startFromUrl = e7),
      (to.setup = function (e) {
        !i &&
          ((i = e),
          p() &&
            (/complete|interactive|loaded/.test(document.readyState)
              ? tt()
              : document.addEventListener("DOMContentLoaded", tt)));
      }));
    let ti = {
        ...ep,
        CLOSE: "Close",
        NEXT: "Next",
        PREV: "Previous",
        MODAL: "You can close this modal content with the ESC key",
        ELEMENT_NOT_FOUND: "HTML Element Not Found",
        IFRAME_ERROR: "Error Loading Page",
        NO_CAPTION: "No Caption",
        TOGGLE_SIDEBAR: "Toggle sidebar",
      },
      tr =
        '<button class="f-button" title="{{CLOSE}}" data-fancybox-close><svg tabindex="-1" width="24" height="24" viewBox="0 0 24 24"><path d="M19.286 4.714 4.714 19.286M4.714 4.714l14.572 14.572" /></svg></button>';
    eq().add("close", { tpl: tr });
    let tl = (e) => {
        e.cancelable && e.preventDefault();
      },
      ta = (e = null, t = "", n) => {
        if (!e || !e.parentElement || !t) {
          n && n();
          return;
        }
        ts(e);
        let o = (i) => {
          i.target === e &&
            e.dataset.animationName &&
            (e.removeEventListener("animationend", o),
            delete e.dataset.animationName,
            n && n(),
            e.classList.remove(t));
        };
        ((e.dataset.animationName = t),
          e.addEventListener("animationend", o),
          v(e, t));
      },
      ts = (e) => {
        e &&
          e.dispatchEvent(
            new CustomEvent("animationend", {
              bubbles: !1,
              cancelable: !0,
              currentTarget: e,
            }),
          );
      },
      tc =
        ((($ = {})[($.Init = 0)] = "Init"),
        ($[($.Ready = 1)] = "Ready"),
        ($[($.Closing = 2)] = "Closing"),
        ($[($.Destroyed = 3)] = "Destroyed"),
        $),
      tu = {
        ajax: null,
        backdropClick: "close",
        Carousel: {},
        closeButton: "auto",
        closeButtonTpl: tr,
        closeExisting: !1,
        delegateEl: void 0,
        dragToClose: !0,
        fadeEffect: !0,
        groupAll: !1,
        groupAttr: "data-fancybox",
        hideClass: "f-fadeOut",
        hideScrollbar: !0,
        id: void 0,
        idle: !1,
        keyboard: {
          Escape: "close",
          Delete: "close",
          Backspace: "close",
          PageUp: "next",
          PageDown: "prev",
          ArrowUp: "prev",
          ArrowDown: "next",
          ArrowRight: "next",
          ArrowLeft: "prev",
        },
        l10n: ti,
        mainClass: "",
        mainStyle: {},
        mainTpl: `<dialog class="fancybox__dialog">
    <div class="fancybox__container" tabindex="0" aria-label="{{MODAL}}">
      <div class="fancybox__backdrop"></div>
      <div class="fancybox__carousel"></div>
    </div>
  </dialog>`,
        modal: !0,
        on: {},
        parentEl: void 0,
        placeFocusBack: !0,
        showClass: "f-zoomInUp",
        startIndex: 0,
        sync: void 0,
        theme: "dark",
        triggerEl: void 0,
        triggerEvent: void 0,
        zoomEffect: !0,
      },
      td = new Map(),
      tf = 0,
      tg = "with-fancybox";
    function tm() {
      for (let e of Object.values(th.Plugins)) {
        let t = e.setup;
        "function" == typeof t && t(th);
      }
    }
    function tp(e, t = {}) {
      let n, o, i, r;
      if (!(e && e instanceof Element)) return;
      let l = {};
      for (let [t, a] of th.openers)
        if (t.contains(e))
          for (let [s, c] of a) {
            let a;
            if (s) {
              for (let n of t.querySelectorAll(s))
                if (n.contains(e)) {
                  a = n;
                  break;
                }
              if (!a) continue;
            }
            for (let [s, u] of c) {
              let c = null;
              try {
                c = e.closest(s);
              } catch (e) {}
              c && ((o = t), (i = a), (n = c), (r = s), m(l, u || {}));
            }
          }
      if (!o || !r || !n) return;
      let a = m({}, tu, t, l, { triggerEl: n }),
        s = [].slice.call((i || o).querySelectorAll(r)),
        c = n.closest(".f-carousel"),
        u = c?.carousel;
      if (u && !(i && c.contains(i))) {
        let e = [];
        for (let t of u?.getSlides()) {
          let n = t.el;
          n &&
            (n.matches(r)
              ? e.push(n)
              : e.push(...[].slice.call(n.querySelectorAll(r))));
        }
        e.length &&
          ((s = [...e]),
          u.getPlugins().Autoplay?.pause(),
          u.getPlugins().Autoscroll?.pause(),
          (a.sync = u));
      }
      if (!1 === a.groupAll) {
        let e = a.groupAttr,
          t = e && n ? n.getAttribute(`${e}`) : "";
        s = e && t ? s.filter((n) => n.getAttribute(`${e}`) === t) : [n];
      }
      if (!s.length) return;
      a.triggerEvent?.preventDefault();
      let d = th.getInstance(),
        f = d?.getState();
      if (d && (f === tc.Init || f === tc.Ready)) {
        let e = d.getOptions().triggerEl;
        if (e && s.indexOf(e) > -1) return;
      }
      return (
        { ...(a.Carousel || {}) }.rtl && (s = s.reverse()),
        n && void 0 === t.startIndex && (a.startIndex = s.indexOf(n)),
        th.fromNodes(s, a)
      );
    }
    let th = {
      Plugins: { Hash: to },
      version: "6.1.13",
      openers: new Map(),
      bind: function (e, t, n, o) {
        if (!p()) return;
        let i = document.body,
          r = null,
          l = "[data-fancybox]",
          a = {};
        (e instanceof Element && (i = e),
          s(e) && s(t)
            ? ((r = e), (l = t))
            : s(t) && s(n)
              ? ((r = t), (l = n))
              : s(t)
                ? (l = t)
                : s(e) && (l = e),
          "object" == typeof t && (a = t || {}),
          "object" == typeof n && (a = n || {}),
          "object" == typeof o && (a = o || {}),
          (function (e, t, n, o = {}) {
            if (!(e && e instanceof Element) || !n) return;
            let i = th.openers.get(e) || new Map(),
              r = i.get(t) || new Map();
            (r.set(n, o),
              i.set(t, r),
              th.openers.set(e, i),
              1 === i.size && e.addEventListener("click", th.fromEvent),
              tm());
          })(i, r, l, a));
      },
      close: function (e = !0, ...t) {
        if (e) for (let e of td.values()) e.close(...t);
        else {
          let e = th.getInstance();
          e && e.close(...t);
        }
      },
      destroy: function () {
        let e;
        for (; (e = th.getInstance()); ) e.destroy();
        for (let e of th.openers.keys())
          e.removeEventListener("click", th.fromEvent);
        th.openers.clear();
      },
      fromEvent: function (e) {
        if (
          e.defaultPrevented ||
          (e.button && 0 !== e.button) ||
          e.ctrlKey ||
          e.metaKey ||
          e.shiftKey
        )
          return;
        let t = e.composedPath()[0],
          n = { triggerEvent: e };
        if (t.closest(".fancybox__container.is-hiding")) {
          (tl(e), e.stopPropagation());
          return;
        }
        let o = t.closest("[data-fancybox-delegate]") || void 0;
        if (o) {
          let e = o.dataset.fancyboxDelegate || "",
            i = document.querySelectorAll(`[data-fancybox="${e}"]`),
            r = parseInt(o.dataset.fancyboxIndex || "", 10) || 0;
          ((t = i[r] || i[0]), m(n, { delegateEl: o, startIndex: r }));
        }
        return tp(t, n);
      },
      fromNodes: function (e, t) {
        t = m({}, tu, t || {});
        let n = [],
          o = (e) =>
            e instanceof HTMLImageElement
              ? e
              : e instanceof HTMLElement
                ? e.querySelector("img:not([aria-hidden])")
                : void 0;
        for (let i of e) {
          let r = i.dataset || {},
            l =
              t.delegateEl && e.indexOf(i) === t.startIndex
                ? t.delegateEl
                : void 0,
            a = o(l) || o(i) || void 0,
            s =
              r.src ||
              i.getAttribute("href") ||
              i.getAttribute("currentSrc") ||
              i.getAttribute("src") ||
              void 0,
            c =
              r.thumb ||
              r.thumbSrc ||
              a?.getAttribute("currentSrc") ||
              a?.getAttribute("src") ||
              a?.dataset.lazySrc ||
              void 0,
            u = {
              src: s,
              alt: r.alt || a?.getAttribute("alt") || void 0,
              thumbSrc: c,
              thumbEl: a,
              triggerEl: i,
              delegateEl: l,
            };
          for (let e in r) {
            let t = r[e] + "";
            ((t = "false" !== t && ("true" === t || t)), (u[e] = t));
          }
          n.push(u);
        }
        return th.show(n, t);
      },
      fromSelector: function (e, t, n, o) {
        if (!p()) return;
        let i = document.body,
          r = null,
          l = "[data-fancybox]",
          a = {};
        for (let [c, u] of (e instanceof Element && (i = e),
        s(e) && s(t)
          ? ((r = e), (l = t))
          : s(t) && s(n)
            ? ((r = t), (l = n))
            : s(t)
              ? (l = t)
              : s(e) && (l = e),
        "object" == typeof t && (a = t || {}),
        "object" == typeof n && (a = n || {}),
        "object" == typeof o && (a = o || {}),
        th.openers))
          for (let [e, t] of u)
            for (let [n, o] of t)
              if (c === i && e === r) {
                let t = i.querySelector((e ? `${e} ` : "") + l);
                if (t && t.matches(n)) return th.fromTriggerEl(t, a);
              }
      },
      fromTriggerEl: tp,
      getCarousel: function () {
        return th.getInstance()?.getCarousel() || void 0;
      },
      getDefaults: function () {
        return tu;
      },
      getInstance: function (e) {
        if (e) {
          let t = td.get(e);
          return t && t.getState() !== tc.Destroyed ? t : void 0;
        }
        return (
          Array.from(td.values())
            .reverse()
            .find((e) => {
              if (e.getState() !== tc.Destroyed) return e;
            }) || void 0
        );
      },
      getSlide: function () {
        return th.getInstance()?.getSlide() || void 0;
      },
      show: function (e = [], t = {}) {
        return (
          tm(),
          (() => {
            let e,
              t,
              n,
              o,
              i,
              r,
              l,
              d = tc.Init,
              p = { ...tu },
              h = -1,
              w = {},
              x = [],
              M = !1,
              L = !0,
              S = 0;
            function T(e, ...t) {
              let n = p[e];
              return n && "function" == typeof n ? n(ef, ...t) : n;
            }
            function R(e, t = []) {
              let n = T("l10n") || {};
              e = String(e).replace(/\{\{(\w+)\}\}/g, (e, t) => n[t] || e);
              for (let n = 0; n < t.length; n++)
                e = e.split(t[n][0]).join(t[n][1]);
              return e.replace(/\{\{(.*?)\}\}/g, (e, t) => t);
            }
            let P = new Map();
            function A(e, ...t) {
              let n = [...(P.get(e) || [])];
              for (let [t, o] of Object.entries(p.on || {}))
                (t === e || t.split(" ").indexOf(e) > -1) && n.push(o);
              for (let e of n) e && "function" == typeof e && e(ef, ...t);
              "*" !== e && A("*", e, ...t);
            }
            function C() {
              b(r, "is-revealing");
              try {
                document.activeElement === i &&
                  (r?.querySelector("[autofocus]") || r).focus();
              } catch (e) {}
            }
            function O(t, n) {
              (G(n),
                V(),
                n.el?.addEventListener("click", z),
                ("inline" === n.type || "clone" === n.type) &&
                  (function (t) {
                    if (!e || !t || !t.el) return;
                    let n = null;
                    if (s(t.src)) {
                      let e = t.src.split("#", 2).pop();
                      n = e ? document.getElementById(e) : null;
                    }
                    if (n) {
                      if (
                        (v(n, "f-html"),
                        "clone" === t.type || n.closest(".fancybox__carousel"))
                      ) {
                        let e = (n = n.cloneNode(!0)).dataset.animationName;
                        e &&
                          (n.classList.remove(e),
                          delete n.dataset.animationName);
                        let o = n.getAttribute("id");
                        ((o = o ? `${o}--clone` : `clone-${h}-${t.index}`),
                          n.setAttribute("id", o));
                      } else if (n.parentNode) {
                        let e = document.createElement("div");
                        ((e.inert = !0),
                          n.parentNode.insertBefore(e, n),
                          (t.placeholderEl = e));
                      }
                      ((t.htmlEl = n),
                        v(t.el, "has-html"),
                        t.el.prepend(n),
                        n.classList.remove("hidden"),
                        "none" === n.style.display && (n.style.display = ""),
                        "none" ===
                          getComputedStyle(n).getPropertyValue("display") &&
                          (n.style.display = n.dataset.display || "flex"),
                        e?.emit("contentReady", t));
                    } else e?.showError(t, "{{ELEMENT_NOT_FOUND}}");
                  })(n),
                "ajax" === n.type &&
                  (function (t) {
                    let n = t.el;
                    if (!n || t.htmlEl || t.xhr) return;
                    (e?.showLoading(t), (t.state = ev.Loading));
                    let o = new XMLHttpRequest();
                    o.onreadystatechange = function () {
                      if (
                        o.readyState === XMLHttpRequest.DONE &&
                        d === tc.Ready
                      )
                        if (
                          (e?.hideLoading(t),
                          (t.state = ev.Loaded),
                          200 === o.status)
                        ) {
                          let i = o.responseText + "",
                            r = null,
                            l = null;
                          if (t.filter) {
                            let e = document.createElement("div");
                            ((e.innerHTML = i),
                              (l = e.querySelector(t.filter + "")));
                          }
                          (l && l instanceof HTMLElement
                            ? (r = l)
                            : ((r = document.createElement("div")).innerHTML =
                                i),
                            r.classList.add("f-html"),
                            (t.htmlEl = r),
                            n.classList.add("has-html"),
                            n.classList.add("has-ajax"),
                            n.prepend(r),
                            e?.emit("contentReady", t));
                        } else e?.showError(t);
                    };
                    let i = T("ajax") || null;
                    (o.open(i ? "POST" : "GET", t.src + ""),
                      o.setRequestHeader(
                        "Content-Type",
                        "application/x-www-form-urlencoded",
                      ),
                      o.setRequestHeader("X-Requested-With", "XMLHttpRequest"),
                      o.send(i),
                      (t.xhr = o));
                  })(n));
            }
            function I(e, t) {
              var n;
              let o, i;
              (U(t),
                t.el?.removeEventListener("click", z),
                ("inline" === t.type || "clone" === t.type) &&
                  ((o = (n = t).htmlEl),
                  (i = n.placeholderEl),
                  o &&
                    ("none" !==
                      getComputedStyle(o).getPropertyValue("display") &&
                      (o.style.display = "none"),
                    o.offsetHeight),
                  i &&
                    (o && i.parentNode && i.parentNode.insertBefore(o, i),
                    i.remove()),
                  (n.htmlEl = void 0),
                  (n.placeholderEl = void 0)),
                t.xhr && (t.xhr.abort(), (t.xhr = void 0)));
            }
            function z(e) {
              if (!Y()) return;
              if (d !== tc.Ready) {
                (tl(e), e.stopPropagation());
                return;
              }
              if (e.defaultPrevented || !ee.isClickAllowed()) return;
              let t = e.composedPath()[0];
              t.closest(".fancybox__carousel") &&
                t.classList.contains("fancybox__slide") &&
                N(e);
            }
            function k() {
              ((L = !1), r && e && r.classList.remove("is-revealing"), V());
              let t = T("sync");
              if (e && t) {
                let n = t.getPageIndex(e.getPageIndex()) || 0;
                t.goTo(n, { transition: !1, tween: !1 });
              }
            }
            function $() {
              ((function () {
                let o = e?.getViewport();
                if (!T("dragToClose") || !e || !o || !(t = ee(o).init()))
                  return;
                let i = !1,
                  l = 0,
                  a = 0,
                  s = {},
                  c = 1;
                function u() {
                  n?.spring({
                    clamp: !0,
                    mass: 1,
                    tension: 0 === a ? 140 : 960,
                    friction: 17,
                    restDelta: 0.1,
                    restSpeed: 0.1,
                    maxSpeed: 1 / 0,
                  })
                    .from({ y: l })
                    .to({ y: a })
                    .start();
                  let t = e?.getViewport()?.getBoundingClientRect().height || 0,
                    o = K()?.panzoomRef;
                  if (t && o)
                    if (0 === a) o.execute(er.Reset);
                    else {
                      let e = y(Math.abs(l), 0, 0.33 * t, c, 0.77 * c, !1);
                      o.execute(er.ZoomTo, { scale: e });
                    }
                }
                let g = (t) => {
                  let n = t.srcEvent,
                    o = n.target;
                  return e && !(q(n) && n.touches?.length > 1) && o && !f(o);
                };
                ((n = j().on("step", (e) => {
                  if (r && o && d === tc.Ready) {
                    let t = o.getBoundingClientRect().height,
                      n = y(
                        Math.abs((l = Math.min(t, Math.max(-1 * t, e.y)))),
                        0,
                        0.65 * t,
                        1,
                        0.2,
                        !0,
                      );
                    (r.style.setProperty("--f-drag-opacity", n + ""),
                      r.style.setProperty("--f-drag-offset", l + "px"));
                  }
                })),
                  t
                    .on("start", function () {
                      i || (n?.pause(), (a = l));
                    })
                    .on("panstart", (t) => {
                      if (!i && g(t) && "y" === t.axis) {
                        (tl(t.srcEvent),
                          (i = !0),
                          es(),
                          e?.getViewport()?.classList.add("is-dragging"));
                        let n = K()?.panzoomRef;
                        if (n) {
                          c = n.getTransform().scale || 1;
                          let e = n.getOptions();
                          ((s = { ...e }), (e.bounds = !1), (e.gestures = !1));
                        }
                      } else i = !1;
                    })
                    .on("pan", function (e) {
                      i &&
                        g(e) &&
                        (tl(e.srcEvent),
                        e.srcEvent.stopPropagation(),
                        "y" === e.axis && ((a += e.deltaY), u()));
                    })
                    .on("end", (t) => {
                      if (
                        (e?.getViewport()?.classList.remove("is-dragging"), i)
                      ) {
                        let e = K()?.panzoomRef;
                        if (e) {
                          e.getTween()?.end();
                          let t = e.getOptions();
                          ((t.bounds = s.bounds || !1),
                            (t.gestures = s.gestures || !1));
                        }
                        g(t) &&
                          "y" === t.axis &&
                          (Math.abs(t.velocityY) > 5 || Math.abs(l) > 50) &&
                          ec(
                            t.srcEvent,
                            "f-throwOut" + (t.velocityY > 0 ? "Down" : "Up"),
                          );
                      }
                      ((i = !1), d === tc.Ready && 0 !== l && ((a = 0), u()));
                    }));
              })(),
                document.body.addEventListener("click", Z),
                document.body.addEventListener("keydown", W, {
                  passive: !1,
                  capture: !0,
                }),
                V(),
                en());
              let o = T("sync");
              (e && o && o.getTween()?.start(), X(K()));
            }
            function F() {
              e?.canGoNext() ? en() : el();
            }
            function _(e, t) {
              G(t);
            }
            function H(e, t) {
              (G(t), X(t));
            }
            function D() {
              let t = e?.getPlugins().Thumbs;
              (E(r, "has-thumbs", t?.isEnabled() || !1),
                E(
                  r,
                  "has-vertical-thumbs",
                  !!t &&
                    ("scrollable" === t.getType() ||
                      t.getCarousel()?.isVertical() === !0),
                ));
            }
            function V() {
              if (r) {
                let t = e?.getPages() || [],
                  n = e?.getPageIndex() || 0;
                for (let e of r.querySelectorAll("[data-fancybox-index]"))
                  e.innerHTML = n + "";
                for (let e of r.querySelectorAll("[data-fancybox-page]"))
                  e.innerHTML = n + 1 + "";
                for (let e of r.querySelectorAll("[data-fancybox-pages]"))
                  e.innerHTML = t.length + "";
              }
            }
            function N(e) {
              e.composedPath()[0].closest("[data-fancybox-close]")
                ? ec(e)
                : (A("backdropClick", e),
                  e.defaultPrevented || (T("backdropClick") && ec(e)));
            }
            function B() {
              ei();
            }
            function W(t) {
              let n;
              if (!Y() || d !== tc.Ready) return;
              let o = t.key,
                i = T("keyboard");
              if (!i || t.ctrlKey || t.altKey || t.shiftKey) return;
              let r = t.composedPath()[0];
              if (
                !c(r) ||
                ("Escape" !== o &&
                  ((n =
                    "input,textarea,select,option,video,iframe,[contenteditable],[data-selectable],[data-draggable]"),
                  r.matches(n) || r.closest(n))) ||
                (A("keydown", t), t.defaultPrevented)
              )
                return;
              let l = i[o];
              if (l)
                switch (l) {
                  case "close":
                    ec(t);
                    break;
                  case "next":
                    (tl(t), e?.next());
                    break;
                  case "prev":
                    (tl(t), e?.prev());
                }
            }
            function Z(e) {
              if (!Y() || d !== tc.Ready || (ei(), e.defaultPrevented)) return;
              let t = e.composedPath()[0],
                n = !!t.closest("[data-fancybox-close]"),
                o = t.classList.contains("fancybox__backdrop");
              (n || o) && N(e);
            }
            function G(t) {
              let { el: n, htmlEl: o, panzoomRef: i, closeButtonEl: r } = t,
                l = i ? i.getWrapper() : o;
              if (!n || !n.parentElement || !l) return;
              let a = T("closeButton");
              if (
                ("auto" === a &&
                  (a = e?.getPlugins().Toolbar?.isEnabled() !== !0),
                !a)
              )
                return void U(t);
              if (!r) {
                let e = u(R(T("closeButtonTpl")));
                e &&
                  (v(e, "is-close-button"),
                  (t.closeButtonEl = l.insertAdjacentElement("afterbegin", e)),
                  v(n, "has-close-btn"));
              }
            }
            function U(e) {
              (e.closeButtonEl &&
                (e.closeButtonEl.remove(), (e.closeButtonEl = void 0)),
                b(e.el, "has-close-btn"));
            }
            function X(t) {
              if (
                !(
                  L &&
                  e &&
                  e.getState() === ey.Ready &&
                  t &&
                  t.index === e.getOptions().initialPage &&
                  t.el &&
                  t.el.parentElement
                ) ||
                (void 0 !== t.state && t.state !== ev.Loaded)
              )
                return;
              L = !1;
              let n = t.panzoomRef,
                o = n?.getTween(),
                i = T("zoomEffect") && o ? Q(t) : void 0;
              if (n && o && i) {
                let { x: e, y: t, scale: r } = n.getStartPosition();
                o.spring({
                  tension: 215,
                  friction: 25,
                  restDelta: 0.001,
                  restSpeed: 0.001,
                  maxSpeed: 1 / 0,
                })
                  .from(i)
                  .to({ x: e, y: t, scale: r })
                  .start();
                return;
              }
              let r = n?.getContent() || t.htmlEl;
              r && ta(r, T("showClass", t));
            }
            function Y() {
              return th.getInstance()?.getId() === h;
            }
            function K() {
              return e?.getPage()?.slides[0];
            }
            function J() {
              let e = K();
              return e ? e.triggerEl || T("triggerEl") : void 0;
            }
            function Q(e) {
              let t = e.thumbEl;
              if (
                !t ||
                !((e) => {
                  let t = e.getBoundingClientRect(),
                    n = e.closest("[style]"),
                    o = n?.parentElement;
                  if (n && n.style.transform && o) {
                    let e = o.getBoundingClientRect();
                    if (
                      t.left < e.left ||
                      t.left > e.left + e.width - t.width ||
                      t.top < e.top ||
                      t.top > e.top + e.height - t.height
                    )
                      return !1;
                  }
                  let i = Math.max(
                      document.documentElement.clientHeight,
                      window.innerHeight,
                    ),
                    r = Math.max(
                      document.documentElement.clientWidth,
                      window.innerWidth,
                    );
                  return (
                    !(t.bottom < 0) &&
                    !(t.top - i >= 0) &&
                    !(t.right < 0) &&
                    !(t.left - r >= 0)
                  );
                })(t)
              )
                return;
              let n = e.panzoomRef?.getWrapper()?.getBoundingClientRect(),
                o = n?.width,
                i = n?.height;
              if (!o || !i) return;
              let r = t.getBoundingClientRect(),
                l = r.width,
                a = r.height,
                s = r.left,
                c = r.top;
              if (!r || !l || !a) return;
              if (t instanceof HTMLImageElement) {
                let e = window
                  .getComputedStyle(t)
                  .getPropertyValue("object-fit");
                if ("contain" === e || "scale-down" === e) {
                  let { width: n, height: o } = ((
                    e,
                    t,
                    n,
                    o,
                    i = "contain",
                  ) => {
                    if ("contain" === i || e > n || t > o) {
                      let i = Math.min(n / e, o / t);
                      ((e *= i), (t *= i));
                    }
                    return { width: e, height: t };
                  })(t.naturalWidth, t.naturalHeight, l, a, e);
                  ((s += (l - n) * 0.5),
                    (c += (a - o) * 0.5),
                    (l = n),
                    (a = o));
                }
              }
              if (Math.abs(o / i - l / a) > 0.1) return;
              let u = s + 0.5 * l - (n.left + 0.5 * o);
              return { x: u, y: c + 0.5 * a - (n.top + 0.5 * i), scale: l / o };
            }
            function et() {
              (o && clearTimeout(o),
                (o = void 0),
                document.removeEventListener("mousemove", B));
            }
            function en() {
              if (M || o) return;
              let e = T("idle");
              e && (o = setTimeout(eo, e));
            }
            function eo() {
              r &&
                (et(),
                v(r, "is-idle"),
                document.addEventListener("mousemove", B),
                (M = !0));
            }
            function ei() {
              M && (el(), en());
            }
            function el() {
              (et(), r?.classList.remove("is-idle"), (M = !1));
            }
            function es() {
              var e;
              let t = J();
              !t ||
                ((e = t.getBoundingClientRect()).bottom > 0 &&
                  e.right > 0 &&
                  e.left <
                    (window.innerWidth ||
                      document.documentElement.clientWidth) &&
                  e.top <
                    (window.innerHeight ||
                      document.documentElement.clientHeight)) ||
                t.closest("[inert]") ||
                t.scrollIntoView({
                  behavior: "instant",
                  block: "center",
                  inline: "center",
                });
            }
            function ec(o, i) {
              if (d === tc.Closing || d === tc.Destroyed) return;
              let r = new Event("shouldClose", { bubbles: !0, cancelable: !0 });
              if ((A("shouldClose", r, o), r.defaultPrevented)) return;
              if ((et(), o)) {
                if (o.defaultPrevented) return;
                (tl(o), o.stopPropagation(), o.stopImmediatePropagation());
              }
              if (((d = tc.Closing), n?.pause(), t?.destroy(), e))
                for (let t of (e.getGestures()?.destroy(),
                e.getTween()?.pause(),
                e.getSlides())) {
                  let e = t.panzoomRef;
                  e &&
                    (m(e.getOptions(), {
                      clickAction: !1,
                      dblClickAction: !1,
                      wheelAction: !1,
                      bounds: !1,
                      minScale: 0,
                      maxScale: 1 / 0,
                    }),
                    e.getGestures()?.destroy(),
                    e.getTween()?.pause());
                }
              let l = e?.getPlugins();
              l?.Autoplay?.stop();
              let a = l?.Fullscreen;
              a && a.inFullscreen()
                ? Promise.resolve(a.exit()).then(() => {
                    setTimeout(() => {
                      eu(o, i);
                    }, 150);
                  })
                : eu(o, i);
            }
            function eu(t, n) {
              if (d !== tc.Closing) return;
              (A("close", t),
                (L = !1),
                document.body.removeEventListener("click", Z),
                document.body.removeEventListener("keydown", W, {
                  passive: !1,
                  capture: !0,
                }),
                T("placeFocusBack") && es());
              let o = document.activeElement;
              (o && i?.contains(o) && o.blur(),
                T("fadeEffect") &&
                  (r?.classList.remove("is-ready"),
                  r?.classList.add("is-hiding")),
                r?.classList.add("is-closing"));
              let l = K(),
                a = l?.el,
                s = l?.panzoomRef,
                c = l?.panzoomRef?.getTween(),
                u = n || T("hideClass"),
                f = !1,
                g = !1;
              if (e && l && a && s && c) {
                let e;
                if (
                  (T("zoomEffect") && l.state === ev.Loaded && (e = Q(l)), e)
                ) {
                  f = !0;
                  let t = () => {
                    (e = Q(l)) ? c.to({ ...ea, ...e }) : ed();
                  };
                  (s.on("refresh", () => {
                    t();
                  }),
                    c
                      .easing(j.Easings.EaseOut)
                      .duration(350)
                      .from({ ...s.getTransform() })
                      .to({ ...ea, ...e })
                      .start(),
                    a?.getAnimations() &&
                      ((a.style.animationPlayState = "paused"),
                      requestAnimationFrame(() => {
                        t();
                      })));
                }
              }
              let m = l?.htmlEl || l?.panzoomRef?.getWrapper();
              (m && ts(m),
                !f &&
                  u &&
                  m &&
                  ((g = !0),
                  ta(m, u, () => {
                    ed();
                  })),
                f || g
                  ? setTimeout(() => {
                      ed();
                    }, 350)
                  : ed());
            }
            function ed() {
              if (d === tc.Destroyed) return;
              d = tc.Destroyed;
              let t = J();
              for (let t of (A("destroy"),
              T("sync")?.getPlugins().Autoplay?.resume(),
              T("sync")?.getPlugins().Autoscroll?.resume(),
              i instanceof HTMLDialogElement && i.close(),
              e?.getContainer()?.classList.remove("is-idle"),
              e?.destroy(),
              Object.values(w)))
                t?.destroy();
              if (
                ((w = {}),
                i?.remove(),
                (i = void 0),
                (r = void 0),
                (e = void 0),
                td.delete(h),
                !td.size &&
                  (g(!1),
                  document.documentElement.classList.remove(tg),
                  T("placeFocusBack") && t && !t.closest("[inert]")))
              )
                try {
                  t?.focus({ preventScroll: !0 });
                } catch (e) {}
            }
            let ef = {
              close: ec,
              destroy: ed,
              getCarousel: function () {
                return e;
              },
              getContainer: function () {
                return r;
              },
              getId: function () {
                return h;
              },
              getOptions: function () {
                return p;
              },
              getPlugins: function () {
                return w;
              },
              getSlide: function () {
                return K();
              },
              getState: function () {
                return d;
              },
              init: function (t = [], n = {}) {
                (d !== tc.Init && (ef.destroy(), (d = tc.Init)),
                  (p = m({}, tu, n)),
                  (h = T("id") || `fancybox-${++tf}`));
                let o = td.get(h);
                if (
                  (o && o.destroy(),
                  td.set(h, ef),
                  A("init"),
                  (function () {
                    for (let [e, t] of Object.entries({
                      ...th.Plugins,
                      ...(p.plugins || {}),
                    }))
                      if (e && !w[e] && t instanceof Function) {
                        let n = t();
                        (n.init(ef), (w[e] = n));
                      }
                    A("initPlugins");
                  })(),
                  (function (e = []) {
                    (A("initSlides", e), (x = [...e]));
                  })(t),
                  (function () {
                    let t = T("parentEl") || document.body;
                    if (
                      !(t && t instanceof HTMLElement) ||
                      !(i = u(R(T("mainTpl") || "")) || void 0) ||
                      !(
                        (r = i.querySelector(".fancybox__container")) &&
                        r instanceof HTMLElement
                      )
                    )
                      return;
                    let n = T("mainClass");
                    n && v(r, n);
                    let o = T("mainStyle");
                    if (o && a(o))
                      for (let [e, t] of Object.entries(o))
                        r.style.setProperty(e, t);
                    let l = T("theme"),
                      s =
                        "auto" === l
                          ? window.matchMedia("(prefers-color-scheme:light)")
                              .matches
                          : "light" === l;
                    (r.setAttribute("theme", s ? "light" : "dark"),
                      i.setAttribute("id", `${h}`),
                      i.addEventListener("keydown", (e) => {
                        "Escape" === e.key && tl(e);
                      }),
                      i.addEventListener(
                        "wheel",
                        (t) => {
                          let n = t.target,
                            o = T("wheel", t);
                          n.closest(".f-thumbs") && (o = "slide");
                          let i = "slide" === o,
                            r = Math.max(
                              -1,
                              Math.min(
                                1,
                                [
                                  -t.deltaX || 0,
                                  -t.deltaY || 0,
                                  -t.detail || 0,
                                ].reduce(function (e, t) {
                                  return Math.abs(t) > Math.abs(e) ? t : e;
                                }),
                              ),
                            ),
                            l = Date.now();
                          if (S && l - S < 300) {
                            i && tl(t);
                            return;
                          }
                          ((S = l),
                            A("wheel", t, r),
                            t.defaultPrevented ||
                              ("close" === o
                                ? ec(t)
                                : "slide" === o &&
                                  e &&
                                  !f(n) &&
                                  (tl(t), e[r > 0 ? "prev" : "next"]())));
                        },
                        { capture: !0, passive: !1 },
                      ),
                      i.addEventListener("cancel", (e) => {
                        ec(e);
                      }),
                      t.append(i),
                      1 === td.size &&
                        (T("hideScrollbar") && g(!0),
                        document.documentElement.classList.add(tg)),
                      A("initLayout"),
                      i instanceof HTMLDialogElement &&
                        (T("modal") ? i.showModal() : i.show()));
                  })(),
                  (function () {
                    if (
                      !(l = i?.querySelector(".fancybox__carousel") || void 0)
                    )
                      return;
                    l.fancybox = ef;
                    let t = m(
                      {},
                      {
                        Autoplay: {
                          autoStart: !1,
                          pauseOnHover: !1,
                          progressbarParentEl: (e) => {
                            let t = e.getContainer();
                            return (
                              t?.querySelector(
                                ".f-carousel__toolbar [data-autoplay-action]",
                              ) || t
                            );
                          },
                        },
                        Fullscreen: { el: r },
                        Toolbar: {
                          absolute: !0,
                          items: {
                            counter: {
                              tpl: '<div class="f-counter"><span data-fancybox-page></span>/<span data-fancybox-pages></span></div>',
                            },
                          },
                          display: {
                            left: ["counter"],
                            right: [
                              "toggleFull",
                              "autoplay",
                              "fullscreen",
                              "thumbs",
                              "close",
                            ],
                          },
                        },
                        Video: { autoplay: !0 },
                        Thumbs: {
                          minCount: 2,
                          Carousel: {
                            classes: { container: "fancybox__thumbs" },
                          },
                        },
                        classes: {
                          container: "fancybox__carousel",
                          viewport: "fancybox__viewport",
                          slide: "fancybox__slide",
                        },
                        spinnerTpl:
                          '<div class="f-spinner" data-fancybox-close></div>',
                        dragFree: !1,
                        slidesPerPage: 1,
                        plugins: {
                          Sync: eT,
                          Arrows: e$,
                          Lazyload: eO,
                          Zoomable: eL,
                          Html: eU,
                          Video: eK,
                          Autoplay: eB,
                          Fullscreen: e0,
                          Thumbs: eZ,
                          Toolbar: eq,
                        },
                      },
                      T("Carousel") || {},
                      {
                        slides: x,
                        enabled: !0,
                        initialPage: T("startIndex") || 0,
                        l10n: T("l10n"),
                      },
                    );
                    (A("initCarousel", (e = ew(l, t))),
                      e.on("*", (e, t, ...n) => {
                        A(`Carousel.${t}`, e, ...n);
                      }),
                      e.on("attachSlideEl", O),
                      e.on("detachSlideEl", I),
                      e.on("contentLoading", _),
                      e.on("contentReady", H),
                      e.on("ready", $),
                      e.on("change", k),
                      e.on("settle", F),
                      e.on("thumbs:ready", D),
                      e.on("thumbs:destroy", D),
                      e.init());
                  })(),
                  i && r)
                ) {
                  if (T("closeExisting"))
                    for (let [e, t] of td.entries()) e !== h && t.close();
                  (T("fadeEffect")
                    ? (setTimeout(() => {
                        C();
                      }, 500),
                      v(r, "is-revealing"))
                    : C(),
                    r.classList.add("is-ready"),
                    (d = tc.Ready),
                    A("ready"));
                }
              },
              isCurrentSlide: function (e) {
                let t = K();
                return !!e && !!t && t.index === e.index;
              },
              isTopMost: function () {
                return Y();
              },
              localize: R,
              off: function (e, t) {
                return (
                  P.has(e) &&
                    P.set(
                      e,
                      P.get(e).filter((e) => e !== t),
                    ),
                  ef
                );
              },
              on: function (e, t) {
                return (P.set(e, [...(P.get(e) || []), t]), ef);
              },
              toggleIdle(e) {
                ((M || !0 === e) && eo(), (M && !1 !== e) || el());
              },
            };
            return ef;
          })().init(e, t)
        );
      },
      unbind: function (e, t, n) {
        if (!p()) return;
        let o = document.body,
          i = null,
          r = "[data-fancybox]";
        (e instanceof Element && (o = e),
          s(e) && s(t)
            ? ((i = e), (r = t))
            : s(t) && s(n)
              ? ((i = t), (r = n))
              : s(t)
                ? (r = t)
                : s(e) && (r = e),
          (function (e, t, n) {
            if (!(e && e instanceof Element) || !n) return;
            let o = th.openers.get(e) || new Map(),
              i = o.get(t) || new Map();
            (i && n && i.delete(n),
              (i.size && n) || o.delete(t),
              o.size ||
                (th.openers.delete(e),
                e.removeEventListener("click", th.fromEvent)));
          })(o, i, r));
      },
    };
    ((e.Arrows = e$),
      (e.Autoplay = eB),
      (e.Carousel = ew),
      (e.CarouselSlideContentState = ev),
      (e.CarouselState = ey),
      (e.Fancybox = th),
      (e.FancyboxState = tc),
      (e.Fullscreen = e0),
      (e.Html = eU),
      (e.Lazyload = eO),
      (e.PANZOOM_DEFAULT_POS = ea),
      (e.Panzoom = eg),
      (e.PanzoomAction = er),
      (e.PanzoomState = es),
      (e.PanzoomZoomLevel = el),
      (e.Sync = eT),
      (e.Thumbs = eZ),
      (e.Toolbar = eq),
      (e.ToolbarColumn = eD),
      (e.Video = eK),
      (e.Zoomable = eL));
  })
);
