PageSourceSearch

https://comfortsecurities.co.in/assets/js/vendor/bootstrap.min.js

js comfortsecurities.co.in collected 2026-10-02 15:47:52 UTC 128,940 bytes, 4,098 lines download raw bytes

vendor: 32,557 bytes, lines 1-1045
1/*!
2 * Bootstrap v5.0.2 (https://getbootstrap.com/)
3 * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5 */
6!(function (t, e) {
7  "object" == typeof exports && "undefined" != typeof module
8    ? (module.exports = e())
9    : "function" == typeof define && define.amd
10    ? define(e)
11    : ((t =
12        "undefined" != typeof globalThis ? globalThis : t || self).bootstrap =
13        e());
14})(this, function () {
15  "use strict";
16  const t = {
17      find: (t, e = document.documentElement) =>
18        [].concat(...Element.prototype.querySelectorAll.call(e, t)),
19      findOne: (t, e = document.documentElement) =>
20        Element.prototype.querySelector.call(e, t),
21      children: (t, e) => [].concat(...t.children).filter((t) => t.matches(e)),
22      parents(t, e) {
23        const i = [];
24        let n = t.parentNode;
25        for (; n && n.nodeType === Node.ELEMENT_NODE && 3 !== n.nodeType; )
26          n.matches(e) && i.push(n), (n = n.parentNode);
27        return i;
28      },
29      prev(t, e) {
30        let i = t.previousElementSibling;
31        for (; i; ) {
32          if (i.matches(e)) return [i];
33          i = i.previousElementSibling;
34        }
35        return [];
36      },
37      next(t, e) {
38        let i = t.nextElementSibling;
39        for (; i; ) {
40          if (i.matches(e)) return [i];
41          i = i.nextElementSibling;
42        }
43        return [];
44      },
45    },
46    e = (t) => {
47      do {
48        t += Math.floor(1e6 * Math.random());
49      } while (document.getElementById(t));
50      return t;
51    },
52    i = (t) => {
53      let e = t.getAttribute("data-bs-target");
54      if (!e || "#" === e) {
55        let i = t.getAttribute("href");
56        if (!i || (!i.includes("#") && !i.startsWith("."))) return null;
57        i.includes("#") && !i.startsWith("#") && (i = "#" + i.split("#")[1]),
58          (e = i && "#" !== i ? i.trim() : null);
59      }
60      return e;
61    },
62    n = (t) => {
63      const e = i(t);
64      return e && document.querySelector(e) ? e : null;
65    },
66    s = (t) => {
67      const e = i(t);
68      return e ? document.querySelector(e) : null;
69    },
70    o = (t) => {
71      t.dispatchEvent(new Event("transitionend"));
72    },
73    r = (t) =>
74      !(!t || "object" != typeof t) &&
75      (void 0 !== t.jquery && (t = t[0]), void 0 !== t.nodeType),
76    a = (e) =>
77      r(e)
78        ? e.jquery
79          ? e[0]
80          : e
81        : "string" == typeof e && e.length > 0
82        ? t.findOne(e)
83        : null,
84    l = (t, e, i) => {
85      Object.keys(i).forEach((n) => {
86        const s = i[n],
87          o = e[n],
88          a =
89            o && r(o)
90              ? "element"
91              : null == (l = o)
92              ? "" + l
93              : {}.toString
94                  .call(l)
95                  .match(/\s([a-z]+)/i)[1]
96                  .toLowerCase();
97        var l;
98        if (!new RegExp(s).test(a))
99          throw new TypeError(
100            `${t.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`
101          );
102      });
103    },
104    c = (t) =>
105      !(!r(t) || 0 === t.getClientRects().length) &&
106      "visible" === getComputedStyle(t).getPropertyValue("visibility"),
107    h = (t) =>
108      !t ||
109      t.nodeType !== Node.ELEMENT_NODE ||
110      !!t.classList.contains("disabled") ||
111      (void 0 !== t.disabled
112        ? t.disabled
113        : t.hasAttribute("disabled") && "false" !== t.getAttribute("disabled")),
114    d = (t) => {
115      if (!document.documentElement.attachShadow) return null;
116      if ("function" == typeof t.getRootNode) {
117        const e = t.getRootNode();
118        return e instanceof ShadowRoot ? e : null;
119      }
120      return t instanceof ShadowRoot
121        ? t
122        : t.parentNode
123        ? d(t.parentNode)
124        : null;
125    },
126    u = () => {},
127    f = (t) => t.offsetHeight,
128    p = () => {
129      const { jQuery: t } = window;
130      return t && !document.body.hasAttribute("data-bs-no-jquery") ? t : null;
131    },
132    m = [],
133    g = () => "rtl" === document.documentElement.dir,
134    _ = (t) => {
135      var e;
136      (e = () => {
137        const e = p();
138        if (e) {
139          const i = t.NAME,
140            n = e.fn[i];
141          (e.fn[i] = t.jQueryInterface),
142            (e.fn[i].Constructor = t),
143            (e.fn[i].noConflict = () => ((e.fn[i] = n), t.jQueryInterface));
144        }
145      }),
146        "loading" === document.readyState
147          ? (m.length ||
148              document.addEventListener("DOMContentLoaded", () => {
149                m.forEach((t) => t());
150              }),
151            m.push(e))
152          : e();
153    },
154    b = (t) => {
155      "function" == typeof t && t();
156    },
157    v = (t, e, i = !0) => {
158      if (!i) return void b(t);
159      const n =
160        ((t) => {
161          if (!t) return 0;
162          let { transitionDuration: e, transitionDelay: i } =
163            window.getComputedStyle(t);
164          const n = Number.parseFloat(e),
165            s = Number.parseFloat(i);
166          return n || s
167            ? ((e = e.split(",")[0]),
168              (i = i.split(",")[0]),
169              1e3 * (Number.parseFloat(e) + Number.parseFloat(i)))
170            : 0;
171        })(e) + 5;
172      let s = !1;
173      const r = ({ target: i }) => {
174        i === e && ((s = !0), e.removeEventListener("transitionend", r), b(t));
175      };
176      e.addEventListener("transitionend", r),
177        setTimeout(() => {
178          s || o(e);
179        }, n);
180    },
181    y = (t, e, i, n) => {
182      let s = t.indexOf(e);
183      if (-1 === s) return t[!i && n ? t.length - 1 : 0];
184      const o = t.length;
185      return (
186        (s += i ? 1 : -1),
187        n && (s = (s + o) % o),
188        t[Math.max(0, Math.min(s, o - 1))]
189      );
190    },
191    w = /[^.]*(?=\..*)\.|.*/,
192    E = /\..*/,
193    A = /::\d+$/,
194    T = {};
195  let O = 1;
196  const C = { mouseenter: "mouseover", mouseleave: "mouseout" },
197    k = /^(mouseenter|mouseleave)/i,
198    L = new Set([
199      "click",
200      "dblclick",
201      "mouseup",
202      "mousedown",
203      "contextmenu",
204      "mousewheel",
205      "DOMMouseScroll",
206      "mouseover",
207      "mouseout",
208      "mousemove",
209      "selectstart",
210      "selectend",
211      "keydown",
212      "keypress",
213      "keyup",
214      "orientationchange",
215      "touchstart",
216      "touchmove",
217      "touchend",
218      "touchcancel",
219      "pointerdown",
220      "pointermove",
221      "pointerup",
222      "pointerleave",
223      "pointercancel",
224      "gesturestart",
225      "gesturechange",
226      "gestureend",
227      "focus",
228      "blur",
229      "change",
230      "reset",
231      "select",
232      "submit",
233      "focusin",
234      "focusout",
235      "load",
236      "unload",
237      "beforeunload",
238      "resize",
239      "move",
240      "DOMContentLoaded",
241      "readystatechange",
242      "error",
243      "abort",
244      "scroll",
245    ]);
246  function x(t, e) {
247    return (e && `${e}::${O++}`) || t.uidEvent || O++;
248  }
249  function D(t) {
250    const e = x(t);
251    return (t.uidEvent = e), (T[e] = T[e] || {}), T[e];
252  }
253  function S(t, e, i = null) {
254    const n = Object.keys(t);
255    for (let s = 0, o = n.length; s < o; s++) {
256      const o = t[n[s]];
257      if (o.originalHandler === e && o.delegationSelector === i) return o;
258    }
259    return null;
260  }
261  function I(t, e, i) {
262    const n = "string" == typeof e,
263      s = n ? i : e;
264    let o = M(t);
265    return L.has(o) || (o = t), [n, s, o];
266  }
267  function N(t, e, i, n, s) {
268    if ("string" != typeof e || !t) return;
269    if ((i || ((i = n), (n = null)), k.test(e))) {
270      const t = (t) =>
271        function (e) {
272          if (
273            !e.relatedTarget ||
274            (e.relatedTarget !== e.delegateTarget &&
275              !e.delegateTarget.contains(e.relatedTarget))
276          )
277            return t.call(this, e);
278        };
279      n ? (n = t(n)) : (i = t(i));
280    }
281    const [o, r, a] = I(e, i, n),
282      l = D(t),
283      c = l[a] || (l[a] = {}),
284      h = S(c, r, o ? i : null);
285    if (h) return void (h.oneOff = h.oneOff && s);
286    const d = x(r, e.replace(w, "")),
287      u = o
288        ? (function (t, e, i) {
289            return function n(s) {
290              const o = t.querySelectorAll(e);
291              for (let { target: r } = s; r && r !== this; r = r.parentNode)
292                for (let a = o.length; a--; )
293                  if (o[a] === r)
294                    return (
295                      (s.delegateTarget = r),
296                      n.oneOff && P.off(t, s.type, e, i),
297                      i.apply(r, [s])
298                    );
299              return null;
300            };
301          })(t, i, n)
302        : (function (t, e) {
303            return function i(n) {
304              return (
305                (n.delegateTarget = t),
306                i.oneOff && P.off(t, n.type, e),
307                e.apply(t, [n])
308              );
309            };
310          })(t, i);
311    (u.delegationSelector = o ? i : null),
312      (u.originalHandler = r),
313      (u.oneOff = s),
314      (u.uidEvent = d),
315      (c[d] = u),
316      t.addEventListener(a, u, o);
317  }
318  function j(t, e, i, n, s) {
319    const o = S(e[i], n, s);
320    o && (t.removeEventListener(i, o, Boolean(s)), delete e[i][o.uidEvent]);
321  }
322  function M(t) {
323    return (t = t.replace(E, "")), C[t] || t;
324  }
325  const P = {
326      on(t, e, i, n) {
327        N(t, e, i, n, !1);
328      },
329      one(t, e, i, n) {
330        N(t, e, i, n, !0);
331      },
332      off(t, e, i, n) {
333        if ("string" != typeof e || !t) return;
334        const [s, o, r] = I(e, i, n),
335          a = r !== e,
336          l = D(t),
337          c = e.startsWith(".");
338        if (void 0 !== o) {
339          if (!l || !l[r]) return;
340          return void j(t, l, r, o, s ? i : null);
341        }
342        c &&
343          Object.keys(l).forEach((i) => {
344            !(function (t, e, i, n) {
345              const s = e[i] || {};
346              Object.keys(s).forEach((o) => {
347                if (o.includes(n)) {
348                  const n = s[o];
349                  j(t, e, i, n.originalHandler, n.delegationSelector);
350                }
351              });
352            })(t, l, i, e.slice(1));
353          });
354        const h = l[r] || {};
355        Object.keys(h).forEach((i) => {
356          const n = i.replace(A, "");
357          if (!a || e.includes(n)) {
358            const e = h[i];
359            j(t, l, r, e.originalHandler, e.delegationSelector);
360          }
361        });
362      },
363      trigger(t, e, i) {
364        if ("string" != typeof e || !t) return null;
365        const n = p(),
366          s = M(e),
367          o = e !== s,
368          r = L.has(s);
369        let a,
370          l = !0,
371          c = !0,
372          h = !1,
373          d = null;
374        return (
375          o &&
376            n &&
377            ((a = n.Event(e, i)),
378            n(t).trigger(a),
379            (l = !a.isPropagationStopped()),
380            (c = !a.isImmediatePropagationStopped()),
381            (h = a.isDefaultPrevented())),
382          r
383            ? ((d = document.createEvent("HTMLEvents")), d.initEvent(s, l, !0))
384            : (d = new CustomEvent(e, { bubbles: l, cancelable: !0 })),
385          void 0 !== i &&
386            Object.keys(i).forEach((t) => {
387              Object.defineProperty(d, t, { get: () => i[t] });
388            }),
389          h && d.preventDefault(),
390          c && t.dispatchEvent(d),
391          d.defaultPrevented && void 0 !== a && a.preventDefault(),
392          d
393        );
394      },
395    },
396    H = new Map();
397  var R = {
398    set(t, e, i) {
399      H.has(t) || H.set(t, new Map());
400      const n = H.get(t);
401      n.has(e) || 0 === n.size
402        ? n.set(e, i)
403        : console.error(
404            `Bootstrap doesn't allow more than one instance per element. Bound instance: ${
405              Array.from(n.keys())[0]
406            }.`
407          );
408    },
409    get: (t, e) => (H.has(t) && H.get(t).get(e)) || null,
410    remove(t, e) {
411      if (!H.has(t)) return;
412      const i = H.get(t);
413      i.delete(e), 0 === i.size && H.delete(t);
414    },
415  };
416  class B {
417    constructor(t) {
418      (t = a(t)) &&
419        ((this._element = t),
420        R.set(this._element, this.constructor.DATA_KEY, this));
421    }
422    dispose() {
423      R.remove(this._element, this.constructor.DATA_KEY),
424        P.off(this._element, this.constructor.EVENT_KEY),
425        Object.getOwnPropertyNames(this).forEach((t) => {
426          this[t] = null;
427        });
428    }
429    _queueCallback(t, e, i = !0) {
430      v(t, e, i);
431    }
432    static getInstance(t) {
433      return R.get(t, this.DATA_KEY);
434    }
435    static getOrCreateInstance(t, e = {}) {
436      return (
437        this.getInstance(t) || new this(t, "object" == typeof e ? e : null)
438      );
439    }
440    static get VERSION() {
441      return "5.0.2";
442    }
443    static get NAME() {
444      throw new Error(
445        'You have to implement the static method "NAME", for each component!'
446      );
447    }
448    static get DATA_KEY() {
449      return "bs." + this.NAME;
450    }
451    static get EVENT_KEY() {
452      return "." + this.DATA_KEY;
453    }
454  }
455  class W extends B {
456    static get NAME() {
457      return "alert";
458    }
459    close(t) {
460      const e = t ? this._getRootElement(t) : this._element,
461        i = this._triggerCloseEvent(e);
462      null === i || i.defaultPrevented || this._removeElement(e);
463    }
464    _getRootElement(t) {
465      return s(t) || t.closest(".alert");
466    }
467    _triggerCloseEvent(t) {
468      return P.trigger(t, "close.bs.alert");
469    }
470    _removeElement(t) {
471      t.classList.remove("show");
472      const e = t.classList.contains("fade");
473      this._queueCallback(() => this._destroyElement(t), t, e);
474    }
475    _destroyElement(t) {
476      t.remove(), P.trigger(t, "closed.bs.alert");
477    }
478    static jQueryInterface(t) {
479      return this.each(function () {
480        const e = W.getOrCreateInstance(this);
481        "close" === t && e[t](this);
482      });
483    }
484    static handleDismiss(t) {
485      return function (e) {
486        e && e.preventDefault(), t.close(this);
487      };
488    }
489  }
490  P.on(
491    document,
492    "click.bs.alert.data-api",
493    '[data-bs-dismiss="alert"]',
494    W.handleDismiss(new W())
495  ),
496    _(W);
497  class q extends B {
498    static get NAME() {
499      return "button";
500    }
501    toggle() {
502      this._element.setAttribute(
503        "aria-pressed",
504        this._element.classList.toggle("active")
505      );
506    }
507    static jQueryInterface(t) {
508      return this.each(function () {
509        const e = q.getOrCreateInstance(this);
510        "toggle" === t && e[t]();
511      });
512    }
513  }
514  function z(t) {
515    return (
516      "true" === t ||
517      ("false" !== t &&
518        (t === Number(t).toString()
519          ? Number(t)
520          : "" === t || "null" === t
521          ? null
522          : t))
523    );
524  }
525  function $(t) {
526    return t.replace(/[A-Z]/g, (t) => "-" + t.toLowerCase());
527  }
528  P.on(
529    document,
530    "click.bs.button.data-api",
531    '[data-bs-toggle="button"]',
532    (t) => {
533      t.preventDefault();
534      const e = t.target.closest('[data-bs-toggle="button"]');
535      q.getOrCreateInstance(e).toggle();
536    }
537  ),
538    _(q);
539  const U = {
540      setDataAttribute(t, e, i) {
541        t.setAttribute("data-bs-" + $(e), i);
542      },
543      removeDataAttribute(t, e) {
544        t.removeAttribute("data-bs-" + $(e));
545      },
546      getDataAttributes(t) {
547        if (!t) return {};
548        const e = {};
549        return (
550          Object.keys(t.dataset)
551            .filter((t) => t.startsWith("bs"))
552            .forEach((i) => {
553              let n = i.replace(/^bs/, "");
554              (n = n.charAt(0).toLowerCase() + n.slice(1, n.length)),
555                (e[n] = z(t.dataset[i]));
556            }),
557          e
558        );
559      },
560      getDataAttribute: (t, e) => z(t.getAttribute("data-bs-" + $(e))),
561      offset(t) {
562        const e = t.getBoundingClientRect();
563        return {
564          top: e.top + document.body.scrollTop,
565          left: e.left + document.body.scrollLeft,
566        };
567      },
568      position: (t) => ({ top: t.offsetTop, left: t.offsetLeft }),
569    },
570    F = {
571      interval: 5e3,
572      keyboard: !0,
573      slide: !1,
574      pause: "hover",
575      wrap: !0,
576      touch: !0,
577    },
578    V = {
579      interval: "(number|boolean)",
580      keyboard: "boolean",
581      slide: "(boolean|string)",
582      pause: "(string|boolean)",
583      wrap: "boolean",
584      touch: "boolean",
585    },
586    K = "next",
587    X = "prev",
588    Y = "left",
589    Q = "right",
590    G = { ArrowLeft: Q, ArrowRight: Y };
591  class Z extends B {
592    constructor(e, i) {
593      super(e),
594        (this._items = null),
595        (this._interval = null),
596        (this._activeElement = null),
597        (this._isPaused = !1),
598        (this._isSliding = !1),
599        (this.touchTimeout = null),
600        (this.touchStartX = 0),
601        (this.touchDeltaX = 0),
602        (this._config = this._getConfig(i)),
603        (this._indicatorsElement = t.findOne(
604          ".carousel-indicators",
605          this._element
606        )),
607        (this._touchSupported =
608          "ontouchstart" in document.documentElement ||
609          navigator.maxTouchPoints > 0),
610        (this._pointerEvent = Boolean(window.PointerEvent)),
611        this._addEventListeners();
612    }
613    static get Default() {
614      return F;
615    }
616    static get NAME() {
617      return "carousel";
618    }
619    next() {
620      this._slide(K);
621    }
622    nextWhenVisible() {
623      !document.hidden && c(this._element) && this.next();
624    }
625    prev() {
626      this._slide(X);
627    }
628    pause(e) {
629      e || (this._isPaused = !0),
630        t.findOne(".carousel-item-next, .carousel-item-prev", this._element) &&
631          (o(this._element), this.cycle(!0)),
632        clearInterval(this._interval),
633        (this._interval = null);
634    }
635    cycle(t) {
636      t || (this._isPaused = !1),
637        this._interval &&
638          (clearInterval(this._interval), (this._interval = null)),
639        this._config &&
640          this._config.interval &&
641          !this._isPaused &&
642          (this._updateInterval(),
643          (this._interval = setInterval(
644            (document.visibilityState ? this.nextWhenVisible : this.next).bind(
645              this
646            ),
647            this._config.interval
648          )));
649    }
650    to(e) {
651      this._activeElement = t.findOne(".active.carousel-item", this._element);
652      const i = this._getItemIndex(this._activeElement);
653      if (e > this._items.length - 1 || e < 0) return;
654      if (this._isSliding)
655        return void P.one(this._element, "slid.bs.carousel", () => this.to(e));
656      if (i === e) return this.pause(), void this.cycle();
657      const n = e > i ? K : X;
658      this._slide(n, this._items[e]);
659    }
660    _getConfig(t) {
661      return (
662        (t = {
663          ...F,
664          ...U.getDataAttributes(this._element),
665          ...("object" == typeof t ? t : {}),
666        }),
667        l("carousel", t, V),
668        t
669      );
670    }
671    _handleSwipe() {
672      const t = Math.abs(this.touchDeltaX);
673      if (t <= 40) return;
674      const e = t / this.touchDeltaX;
675      (this.touchDeltaX = 0), e && this._slide(e > 0 ? Q : Y);
676    }
677    _addEventListeners() {
678      this._config.keyboard &&
679        P.on(this._element, "keydown.bs.carousel", (t) => this._keydown(t)),
680        "hover" === this._config.pause &&
681          (P.on(this._element, "mouseenter.bs.carousel", (t) => this.pause(t)),
682          P.on(this._element, "mouseleave.bs.carousel", (t) => this.cycle(t))),
683        this._config.touch &&
684          this._touchSupported &&
685          this._addTouchEventListeners();
686    }
687    _addTouchEventListeners() {
688      const e = (t) => {
689          !this._pointerEvent ||
690          ("pen" !== t.pointerType && "touch" !== t.pointerType)
691            ? this._pointerEvent || (this.touchStartX = t.touches[0].clientX)
692            : (this.touchStartX = t.clientX);
693        },
694        i = (t) => {
695          this.touchDeltaX =
696            t.touches && t.touches.length > 1
697              ? 0
698              : t.touches[0].clientX - this.touchStartX;
699        },
700        n = (t) => {
701          !this._pointerEvent ||
702            ("pen" !== t.pointerType && "touch" !== t.pointerType) ||
703            (this.touchDeltaX = t.clientX - this.touchStartX),
704            this._handleSwipe(),
705            "hover" === this._config.pause &&
706              (this.pause(),
707              this.touchTimeout && clearTimeout(this.touchTimeout),
708              (this.touchTimeout = setTimeout(
709                (t) => this.cycle(t),
710                500 + this._config.interval
711              )));
712        };
713      t.find(".carousel-item img", this._element).forEach((t) => {
714        P.on(t, "dragstart.bs.carousel", (t) => t.preventDefault());
715      }),
716        this._pointerEvent
717          ? (P.on(this._element, "pointerdown.bs.carousel", (t) => e(t)),
718            P.on(this._element, "pointerup.bs.carousel", (t) => n(t)),
719            this._element.classList.add("pointer-event"))
720          : (P.on(this._element, "touchstart.bs.carousel", (t) => e(t)),
721            P.on(this._element, "touchmove.bs.carousel", (t) => i(t)),
722            P.on(this._element, "touchend.bs.carousel", (t) => n(t)));
723    }
724    _keydown(t) {
725      if (/input|textarea/i.test(t.target.tagName)) return;
726      const e = G[t.key];
727      e && (t.preventDefault(), this._slide(e));
728    }
729    _getItemIndex(e) {
730      return (
731        (this._items =
732          e && e.parentNode ? t.find(".carousel-item", e.parentNode) : []),
733        this._items.indexOf(e)
734      );
735    }
736    _getItemByOrder(t, e) {
737      const i = t === K;
738      return y(this._items, e, i, this._config.wrap);
739    }
740    _triggerSlideEvent(e, i) {
741      const n = this._getItemIndex(e),
742        s = this._getItemIndex(
743          t.findOne(".active.carousel-item", this._element)
744        );
745      return P.trigger(this._element, "slide.bs.carousel", {
746        relatedTarget: e,
747        direction: i,
748        from: s,
749        to: n,
750      });
751    }
752    _setActiveIndicatorElement(e) {
753      if (this._indicatorsElement) {
754        const i = t.findOne(".active", this._indicatorsElement);
755        i.classList.remove("active"), i.removeAttribute("aria-current");
756        const n = t.find("[data-bs-target]", this._indicatorsElement);
757        for (let t = 0; t < n.length; t++)
758          if (
759            Number.parseInt(n[t].getAttribute("data-bs-slide-to"), 10) ===
760            this._getItemIndex(e)
761          ) {
762            n[t].classList.add("active"),
763              n[t].setAttribute("aria-current", "true");
764            break;
765          }
766      }
767    }
768    _updateInterval() {
769      const e =
770        this._activeElement ||
771        t.findOne(".active.carousel-item", this._element);
772      if (!e) return;
773      const i = Number.parseInt(e.getAttribute("data-bs-interval"), 10);
774      i
775        ? ((this._config.defaultInterval =
776            this._config.defaultInterval || this._config.interval),
777          (this._config.interval = i))
778        : (this._config.interval =
779            this._config.defaultInterval || this._config.interval);
780    }
781    _slide(e, i) {
782      const n = this._directionToOrder(e),
783        s = t.findOne(".active.carousel-item", this._element),
784        o = this._getItemIndex(s),
785        r = i || this._getItemByOrder(n, s),
786        a = this._getItemIndex(r),
787        l = Boolean(this._interval),
788        c = n === K,
789        h = c ? "carousel-item-start" : "carousel-item-end",
790        d = c ? "carousel-item-next" : "carousel-item-prev",
791        u = this._orderToDirection(n);
792      if (r && r.classList.contains("active"))
793        return void (this._isSliding = !1);
794      if (this._isSliding) return;
795      if (this._triggerSlideEvent(r, u).defaultPrevented) return;
796      if (!s || !r) return;
797      (this._isSliding = !0),
798        l && this.pause(),
799        this._setActiveIndicatorElement(r),
800        (this._activeElement = r);
801      const p = () => {
802        P.trigger(this._element, "slid.bs.carousel", {
803          relatedTarget: r,
804          direction: u,
805          from: o,
806          to: a,
807        });
808      };
809      if (this._element.classList.contains("slide")) {
810        r.classList.add(d), f(r), s.classList.add(h), r.classList.add(h);
811        const t = () => {
812          r.classList.remove(h, d),
813            r.classList.add("active"),
814            s.classList.remove("active", d, h),
815            (this._isSliding = !1),
816            setTimeout(p, 0);
817        };
818        this._queueCallback(t, s, !0);
819      } else s.classList.remove("active"), r.classList.add("active"), (this._isSliding = !1), p();
820      l && this.cycle();
821    }
822    _directionToOrder(t) {
823      return [Q, Y].includes(t)
824        ? g()
825          ? t === Y
826            ? X
827            : K
828          : t === Y
829          ? K
830          : X
831        : t;
832    }
833    _orderToDirection(t) {
834      return [K, X].includes(t)
835        ? g()
836          ? t === X
837            ? Y
838            : Q
839          : t === X
840          ? Q
841          : Y
842        : t;
843    }
844    static carouselInterface(t, e) {
845      const i = Z.getOrCreateInstance(t, e);
846      let { _config: n } = i;
847      "object" == typeof e && (n = { ...n, ...e });
848      const s = "string" == typeof e ? e : n.slide;
849      if ("number" == typeof e) i.to(e);
850      else if ("string" == typeof s) {
851        if (void 0 === i[s]) throw new TypeError(`No method named "${s}"`);
852        i[s]();
853      } else n.interval && n.ride && (i.pause(), i.cycle());
854    }
855    static jQueryInterface(t) {
856      return this.each(function () {
857        Z.carouselInterface(this, t);
858      });
859    }
860    static dataApiClickHandler(t) {
861      const e = s(this);
862      if (!e || !e.classList.contains("carousel")) return;
863      const i = { ...U.getDataAttributes(e), ...U.getDataAttributes(this) },
864        n = this.getAttribute("data-bs-slide-to");
865      n && (i.interval = !1),
866        Z.carouselInterface(e, i),
867        n && Z.getInstance(e).to(n),
868        t.preventDefault();
869    }
870  }
871  P.on(
872    document,
873    "click.bs.carousel.data-api",
874    "[data-bs-slide], [data-bs-slide-to]",
875    Z.dataApiClickHandler
876  ),
877    P.on(window, "load.bs.carousel.data-api", () => {
878      const e = t.find('[data-bs-ride="carousel"]');
879      for (let t = 0, i = e.length; t < i; t++)
880        Z.carouselInterface(e[t], Z.getInstance(e[t]));
881    }),
882    _(Z);
883  const J = { toggle: !0, parent: "" },
884    tt = { toggle: "boolean", parent: "(string|element)" };
885  class et extends B {
886    constructor(e, i) {
887      super(e),
888        (this._isTransitioning = !1),
889        (this._config = this._getConfig(i)),
890        (this._triggerArray = t.find(
891          `[data-bs-toggle="collapse"][href="#${this._element.id}"],[data-bs-toggle="collapse"][data-bs-target="#${this._element.id}"]`
892        ));
893      const s = t.find('[data-bs-toggle="collapse"]');
894      for (let e = 0, i = s.length; e < i; e++) {
895        const i = s[e],
896          o = n(i),
897          r = t.find(o).filter((t) => t === this._element);
898        null !== o &&
899          r.length &&
900          ((this._selector = o), this._triggerArray.push(i));
901      }
902      (this._parent = this._config.parent ? this._getParent() : null),
903        this._config.parent ||
904          this._addAriaAndCollapsedClass(this._element, this._triggerArray),
905        this._config.toggle && this.toggle();
906    }
907    static get Default() {
908      return J;
909    }
910    static get NAME() {
911      return "collapse";
912    }
913    toggle() {
914      this._element.classList.contains("show") ? this.hide() : this.show();
915    }
916    show() {
917      if (this._isTransitioning || this._element.classList.contains("show"))
918        return;
919      let e, i;
920      this._parent &&
921        ((e = t
922          .find(".show, .collapsing", this._parent)
923          .filter((t) =>
924            "string" == typeof this._config.parent
925              ? t.getAttribute("data-bs-parent") === this._config.parent
926              : t.classList.contains("collapse")
927          )),
928        0 === e.length && (e = null));
929      const n = t.findOne(this._selector);
930      if (e) {
931        const t = e.find((t) => n !== t);
932        if (((i = t ? et.getInstance(t) : null), i && i._isTransitioning))
933          return;
934      }
935      if (P.trigger(this._element, "show.bs.collapse").defaultPrevented) return;
936      e &&
937        e.forEach((t) => {
938          n !== t && et.collapseInterface(t, "hide"),
939            i || R.set(t, "bs.collapse", null);
940        });
941      const s = this._getDimension();
942      this._element.classList.remove("collapse"),
943        this._element.classList.add("collapsing"),
944        (this._element.style[s] = 0),
945        this._triggerArray.length &&
946          this._triggerArray.forEach((t) => {
947            t.classList.remove("collapsed"),
948              t.setAttribute("aria-expanded", !0);
949          }),
950        this.setTransitioning(!0);
951      const o = "scroll" + (s[0].toUpperCase() + s.slice(1));
952      this._queueCallback(
953        () => {
954          this._element.classList.remove("collapsing"),
955            this._element.classList.add("collapse", "show"),
956            (this._element.style[s] = ""),
957            this.setTransitioning(!1),
958            P.trigger(this._element, "shown.bs.collapse");
959        },
960        this._element,
961        !0
962      ),
963        (this._element.style[s] = this._element[o] + "px");
964    }
965    hide() {
966      if (this._isTransitioning || !this._element.classList.contains("show"))
967        return;
968      if (P.trigger(this._element, "hide.bs.collapse").defaultPrevented) return;
969      const t = this._getDimension();
970      (this._element.style[t] =
971        this._element.getBoundingClientRect()[t] + "px"),
972        f(this._element),
973        this._element.classList.add("collapsing"),
974        this._element.classList.remove("collapse", "show");
975      const e = this._triggerArray.length;
976      if (e > 0)
977        for (let t = 0; t < e; t++) {
978          const e = this._triggerArray[t],
979            i = s(e);
980          i &&
981            !i.classList.contains("show") &&
982            (e.classList.add("collapsed"), e.setAttribute("aria-expanded", !1));
983        }
984      this.setTransitioning(!0),
985        (this._element.style[t] = ""),
986        this._queueCallback(
987          () => {
988            this.setTransitioning(!1),
989              this._element.classList.remove("collapsing"),
990              this._element.classList.add("collapse"),
991              P.trigger(this._element, "hidden.bs.collapse");
992          },
993          this._element,
994          !0
995        );
996    }
997    setTransitioning(t) {
998      this._isTransitioning = t;
999    }
1000    _getConfig(t) {
1001      return (
1002        ((t = { ...J, ...t }).toggle = Boolean(t.toggle)),
1003        l("collapse", t, tt),
1004        t
1005      );
1006    }
1007    _getDimension() {
1008      return this._element.classList.contains("width") ? "width" : "height";
1009    }
1010    _getParent() {
1011      let { parent: e } = this._config;
1012      e = a(e);
1013      const i = `[data-bs-toggle="collapse"][data-bs-parent="${e}"]`;
1014      return (
1015        t.find(i, e).forEach((t) => {
1016          const e = s(t);
1017          this._addAriaAndCollapsedClass(e, [t]);
1018        }),
1019        e
1020      );
1021    }
1022    _addAriaAndCollapsedClass(t, e) {
1023      if (!t || !e.length) return;
1024      const i = t.classList.contains("show");
1025      e.forEach((t) => {
1026        i ? t.classList.remove("collapsed") : t.classList.add("collapsed"),
1027          t.setAttribute("aria-expanded", i);
1028      });
1029    }
1030    static collapseInterface(t, e) {
1031      let i = et.getInstance(t);
1032      const n = {
1033        ...J,
1034        ...U.getDataAttributes(t),
1035        ...("object" == typeof e && e ? e : {}),
1036      };
1037      if (
1038        (!i &&
1039          n.toggle &&
1040          "string" == typeof e &&
1041          /show|hide/.test(e) &&
1042          (n.toggle = !1),
1043        i || (i = new et(t, n)),
1044        "string" == typeof e)
1045      ) {
1046        if (void 0 === i[e]) throw new TypeError(`No method named "${e}"`);
1047        i[e]();
1048      }
1049    }
1050    static jQueryInterface(t) {
1051      return this.each(function () {
1052        et.collapseInterface(this, t);
1053      });
1054    }
1055  }
1056  P.on(
1057    document,
1058    "click.bs.collapse.data-api",
1059    '[data-bs-toggle="collapse"]',
1060    function (e) {
1061      ("A" === e.target.tagName ||
1062        (e.delegateTarget && "A" === e.delegateTarget.tagName)) &&
1063        e.preventDefault();
1064      const i = U.getDataAttributes(this),
1065        s = n(this);
1066      t.find(s).forEach((t) => {
1067        const e = et.getInstance(t);
1068        let n;
1069        e
1070          ? (null === e._parent &&
1071              "string" == typeof i.parent &&
1072              ((e._config.parent = i.parent), (e._parent = e._getParent())),
1073            (n = "toggle"))
1074          : (n = i),
1075          et.collapseInterface(t, n);
1076      });
1077    }
1078  ),
1079    _(et);
1080  var it = "top",
1081    nt = "bottom",
1082    st = "right",
1083    ot = "left",
1084    rt = [it, nt, st, ot],
1085    at = rt.reduce(function (t, e) {
1086      return t.concat([e + "-start", e + "-end"]);
1087    }, []),
1088    lt = [].concat(rt, ["auto"]).reduce(function (t, e) {
1089      return t.concat([e, e + "-start", e + "-end"]);
1090    }, []),
1091    ct = [
1092      "beforeRead",
1093      "read",
1094      "afterRead",
1095      "beforeMain",
1096      "main",
1097      "afterMain",
1098      "beforeWrite",
1099      "write",
1100      "afterWrite",
1101    ];
1102  function ht(t) {
1103    return t ? (t.nodeName || "").toLowerCase() : null;
1104  }
1105  function dt(t) {
1106    if (null == t) return window;
1107    if ("[object Window]" !== t.toString()) {
1108      var e = t.ownerDocument;
1109      return (e && e.defaultView) || window;
1110    }
1111    return t;
1112  }
1113  function ut(t) {
1114    return t instanceof dt(t).Element || t instanceof Element;
1115  }
1116  function ft(t) {
1117    return t instanceof dt(t).HTMLElement || t instanceof HTMLElement;
1118  }
1119  function pt(t) {
1120    return (
1121      "undefined" != typeof ShadowRoot &&
1122      (t instanceof dt(t).ShadowRoot || t instanceof ShadowRoot)
1123    );
1124  }
1125  var mt = {
1126    name: "applyStyles",
1127    enabled: !0,
1128    phase: "write",
1129    fn: function (t) {
1130      var e = t.state;
1131      Object.keys(e.elements).forEach(function (t) {
1132        var i = e.styles[t] || {},
1133          n = e.attributes[t] || {},
1134          s = e.elements[t];
1135        ft(s) &&
1136          ht(s) &&
1137          (Object.assign(s.style, i),
1138          Object.keys(n).forEach(function (t) {
1139            var e = n[t];
1140            !1 === e
1141              ? s.removeAttribute(t)
1142              : s.setAttribute(t, !0 === e ? "" : e);
1143          }));
1144      });
1145    },
1146    effect: function (t) {
1147      var e = t.state,
1148        i = {
1149          popper: {
1150            position: e.options.strategy,
1151            left: "0",
1152            top: "0",
1153            margin: "0",
1154          },
1155          arrow: { position: "absolute" },
1156          reference: {},
1157        };
1158      return (
1159        Object.assign(e.elements.popper.style, i.popper),
1160        (e.styles = i),
1161        e.elements.arrow && Object.assign(e.elements.arrow.style, i.arrow),
1162        function () {
1163          Object.keys(e.elements).forEach(function (t) {
1164            var n = e.elements[t],
1165              s = e.attributes[t] || {},
1166              o = Object.keys(
1167                e.styles.hasOwnProperty(t) ? e.styles[t] : i[t]
1168              ).reduce(function (t, e) {
1169                return (t[e] = ""), t;
1170              }, {});
1171            ft(n) &&
1172              ht(n) &&
1173              (Object.assign(n.style, o),
1174              Object.keys(s).forEach(function (t) {
1175                n.removeAttribute(t);
1176              }));
1177          });
1178        }
1179      );
1180    },
1181    requires: ["computeStyles"],
1182  };
1183  function gt(t) {
1184    return t.split("-")[0];
1185  }
1186  function _t(t) {
1187    var e = t.getBoundingClientRect();
1188    return {
1189      width: e.width,
1190      height: e.height,
1191      top: e.top,
1192      right: e.right,
1193      bottom: e.bottom,
1194      left: e.left,
1195      x: e.left,
1196      y: e.top,
1197    };
1198  }
1199  function bt(t) {
1200    var e = _t(t),
1201      i = t.offsetWidth,
1202      n = t.offsetHeight;
1203    return (
1204      Math.abs(e.width - i) <= 1 && (i = e.width),
1205      Math.abs(e.height - n) <= 1 && (n = e.height),
1206      { x: t.offsetLeft, y: t.offsetTop, width: i, height: n }
1207    );
1208  }
1209  function vt(t, e) {
1210    var i = e.getRootNode && e.getRootNode();
1211    if (t.contains(e)) return !0;
1212    if (i && pt(i)) {
1213      var n = e;
1214      do {
1215        if (n && t.isSameNode(n)) return !0;
1216        n = n.parentNode || n.host;
1217      } while (n);
1218    }
1219    return !1;
1220  }
1221  function yt(t) {
1222    return dt(t).getComputedStyle(t);
1223  }
1224  function wt(t) {
1225    return ["table", "td", "th"].indexOf(ht(t)) >= 0;
1226  }
1227  function Et(t) {
1228    return (
1229      (ut(t) ? t.ownerDocument : t.document) || window.document
1230    ).documentElement;
1231  }
1232  function At(t) {
1233    return "html" === ht(t)
1234      ? t
1235      : t.assignedSlot || t.parentNode || (pt(t) ? t.host : null) || Et(t);
1236  }
1237  function Tt(t) {
1238    return ft(t) && "fixed" !== yt(t).position ? t.offsetParent : null;
1239  }
1240  function Ot(t) {
1241    for (var e = dt(t), i = Tt(t); i && wt(i) && "static" === yt(i).position; )
1242      i = Tt(i);
1243    return i &&
1244      ("html" === ht(i) || ("body" === ht(i) && "static" === yt(i).position))
1245      ? e
1246      : i ||
1247          (function (t) {
1248            var e = -1 !== navigator.userAgent.toLowerCase().indexOf("firefox");
1249            if (
1250              -1 !== navigator.userAgent.indexOf("Trident") &&
1251              ft(t) &&
1252              "fixed" === yt(t).position
1253            )
1254              return null;
1255            for (
1256              var i = At(t);
1257              ft(i) && ["html", "body"].indexOf(ht(i)) < 0;
1258
1259            ) {
1260              var n = yt(i);
1261              if (
1262                "none" !== n.transform ||
1263                "none" !== n.perspective ||
1264                "paint" === n.contain ||
1265                -1 !== ["transform", "perspective"].indexOf(n.willChange) ||
1266                (e && "filter" === n.willChange) ||
1267                (e && n.filter && "none" !== n.filter)
1268              )
1269                return i;
1270              i = i.parentNode;
1271            }
1272            return null;
1273          })(t) ||
1274          e;
1275  }
1276  function Ct(t) {
1277    return ["top", "bottom"].indexOf(t) >= 0 ? "x" : "y";
1278  }
1279  var kt = Math.max,
1280    Lt = Math.min,
1281    xt = Math.round;
1282  function Dt(t, e, i) {
1283    return kt(t, Lt(e, i));
1284  }
1285  function St(t) {
1286    return Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }, t);
1287  }
1288  function It(t, e) {
1289    return e.reduce(function (e, i) {
1290      return (e[i] = t), e;
1291    }, {});
1292  }
1293  var Nt = {
1294      name: "arrow",
1295      enabled: !0,
1296      phase: "main",
1297      fn: function (t) {
1298        var e,
1299          i = t.state,
1300          n = t.name,
1301          s = t.options,
1302          o = i.elements.arrow,
1303          r = i.modifiersData.popperOffsets,
1304          a = gt(i.placement),
1305          l = Ct(a),
1306          c = [ot, st].indexOf(a) >= 0 ? "height" : "width";
1307        if (o && r) {
1308          var h = (function (t, e) {
1309              return St(
1310                "number" !=
1311                  typeof (t =
1312                    "function" == typeof t
1313                      ? t(
1314                          Object.assign({}, e.rects, { placement: e.placement })
1315                        )
1316                      : t)
1317                  ? t
1318                  : It(t, rt)
1319              );
1320            })(s.padding, i),
1321            d = bt(o),
1322            u = "y" === l ? it : ot,
1323            f = "y" === l ? nt : st,
1324            p =
1325              i.rects.reference[c] +
1326              i.rects.reference[l] -
1327              r[l] -
1328              i.rects.popper[c],
1329            m = r[l] - i.rects.reference[l],
1330            g = Ot(o),
1331            _ = g ? ("y" === l ? g.clientHeight || 0 : g.clientWidth || 0) : 0,
1332            b = p / 2 - m / 2,
1333            v = h[u],
1334            y = _ - d[c] - h[f],
1335            w = _ / 2 - d[c] / 2 + b,
1336            E = Dt(v, w, y),
1337            A = l;
1338          i.modifiersData[n] = (((e = {})[A] = E), (e.centerOffset = E - w), e);
1339        }
1340      },
1341      effect: function (t) {
1342        var e = t.state,
1343          i = t.options.element,
1344          n = void 0 === i ? "[data-popper-arrow]" : i;
1345        null != n &&
1346          ("string" != typeof n || (n = e.elements.popper.querySelector(n))) &&
1347          vt(e.elements.popper, n) &&
1348          (e.elements.arrow = n);
1349      },
1350      requires: ["popperOffsets"],
1351      requiresIfExists: ["preventOverflow"],
1352    },
1353    jt = { top: "auto", right: "auto", bottom: "auto", left: "auto" };
1354  function Mt(t) {
1355    var e,
1356      i = t.popper,
1357      n = t.popperRect,
1358      s = t.placement,
1359      o = t.offsets,
1360      r = t.position,
1361      a = t.gpuAcceleration,
1362      l = t.adaptive,
1363      c = t.roundOffsets,
1364      h =
1365        !0 === c
1366          ? (function (t) {
1367              var e = t.x,
1368                i = t.y,
1369                n = window.devicePixelRatio || 1;
1370              return { x: xt(xt(e * n) / n) || 0, y: xt(xt(i * n) / n) || 0 };
1371            })(o)
1372          : "function" == typeof c
1373          ? c(o)
1374          : o,
1375      d = h.x,
1376      u = void 0 === d ? 0 : d,
1377      f = h.y,
1378      p = void 0 === f ? 0 : f,
1379      m = o.hasOwnProperty("x"),
1380      g = o.hasOwnProperty("y"),
1381      _ = ot,
1382      b = it,
1383      v = window;
1384    if (l) {
1385      var y = Ot(i),
1386        w = "clientHeight",
1387        E = "clientWidth";
1388      y === dt(i) &&
1389        "static" !== yt((y = Et(i))).position &&
1390        ((w = "scrollHeight"), (E = "scrollWidth")),
1391        (y = y),
1392        s === it && ((b = nt), (p -= y[w] - n.height), (p *= a ? 1 : -1)),
1393        s === ot && ((_ = st), (u -= y[E] - n.width), (u *= a ? 1 : -1));
1394    }
1395    var A,
1396      T = Object.assign({ position: r }, l && jt);
1397    return a
1398      ? Object.assign(
1399          {},
1400          T,
1401          (((A = {})[b] = g ? "0" : ""),
1402          (A[_] = m ? "0" : ""),
1403          (A.transform =
1404            (v.devicePixelRatio || 1) < 2
1405              ? "translate(" + u + "px, " + p + "px)"
1406              : "translate3d(" + u + "px, " + p + "px, 0)"),
1407          A)
1408        )
1409      : Object.assign(
1410          {},
1411          T,
1412          (((e = {})[b] = g ? p + "px" : ""),
1413          (e[_] = m ? u + "px" : ""),
1414          (e.transform = ""),
1415          e)
1416        );
1417  }
1418  var Pt = {
1419      name: "computeStyles",
1420      enabled: !0,
1421      phase: "beforeWrite",
1422      fn: function (t) {
1423        var e = t.state,
1424          i = t.options,
1425          n = i.gpuAcceleration,
1426          s = void 0 === n || n,
1427          o = i.adaptive,
1428          r = void 0 === o || o,
1429          a = i.roundOffsets,
1430          l = void 0 === a || a,
1431          c = {
1432            placement: gt(e.placement),
1433            popper: e.elements.popper,
1434            popperRect: e.rects.popper,
1435            gpuAcceleration: s,
1436          };
1437        null != e.modifiersData.popperOffsets &&
1438          (e.styles.popper = Object.assign(
1439            {},
1440            e.styles.popper,
1441            Mt(
1442              Object.assign({}, c, {
1443                offsets: e.modifiersData.popperOffsets,
1444                position: e.options.strategy,
1445                adaptive: r,
1446                roundOffsets: l,
1447              })
1448            )
1449          )),
1450          null != e.modifiersData.arrow &&
1451            (e.styles.arrow = Object.assign(
1452              {},
1453              e.styles.arrow,
1454              Mt(
1455                Object.assign({}, c, {
1456                  offsets: e.modifiersData.arrow,
1457                  position: "absolute",
1458                  adaptive: !1,
1459                  roundOffsets: l,
1460                })
1461              )
1462            )),
1463          (e.attributes.popper = Object.assign({}, e.attributes.popper, {
1464            "data-popper-placement": e.placement,
1465          }));
1466      },
1467      data: {},
1468    },
1469    Ht = { passive: !0 },
1470    Rt = {
1471      name: "eventListeners",
1472      enabled: !0,
1473      phase: "write",
1474      fn: function () {},
1475      effect: function (t) {
1476        var e = t.state,
1477          i = t.instance,
1478          n = t.options,
1479          s = n.scroll,
1480          o = void 0 === s || s,
1481          r = n.resize,
1482          a = void 0 === r || r,
1483          l = dt(e.elements.popper),
1484          c = [].concat(e.scrollParents.reference, e.scrollParents.popper);
1485        return (
1486          o &&
1487            c.forEach(function (t) {
1488              t.addEventListener("scroll", i.update, Ht);
1489            }),
1490          a && l.addEventListener("resize", i.update, Ht),
1491          function () {
1492            o &&
1493              c.forEach(function (t) {
1494                t.removeEventListener("scroll", i.update, Ht);
1495              }),
1496              a && l.removeEventListener("resize", i.update, Ht);
1497          }
1498        );
1499      },
1500      data: {},
1501    },
1502    Bt = { left: "right", right: "left", bottom: "top", top: "bottom" };
1503  function Wt(t) {
1504    return t.replace(/left|right|bottom|top/g, function (t) {
1505      return Bt[t];
1506    });
1507  }
1508  var qt = { start: "end", end: "start" };
1509  function zt(t) {
1510    return t.replace(/start|end/g, function (t) {
1511      return qt[t];
1512    });
1513  }
1514  function $t(t) {
1515    var e = dt(t);
1516    return { scrollLeft: e.pageXOffset, scrollTop: e.pageYOffset };
1517  }
1518  function Ut(t) {
1519    return _t(Et(t)).left + $t(t).scrollLeft;
1520  }
1521  function Ft(t) {
1522    var e = yt(t),
1523      i = e.overflow,
1524      n = e.overflowX,
1525      s = e.overflowY;
1526    return /auto|scroll|overlay|hidden/.test(i + s + n);
1527  }
1528  function Vt(t, e) {
1529    var i;
1530    void 0 === e && (e = []);
1531    var n = (function t(e) {
1532        return ["html", "body", "#document"].indexOf(ht(e)) >= 0
1533          ? e.ownerDocument.body
1534          : ft(e) && Ft(e)
1535          ? e
1536          : t(At(e));
1537      })(t),
1538      s = n === (null == (i = t.ownerDocument) ? void 0 : i.body),
1539      o = dt(n),
1540      r = s ? [o].concat(o.visualViewport || [], Ft(n) ? n : []) : n,
1541      a = e.concat(r);
1542    return s ? a : a.concat(Vt(At(r)));
1543  }
1544  function Kt(t) {
1545    return Object.assign({}, t, {
1546      left: t.x,
1547      top: t.y,
1548      right: t.x + t.width,
1549      bottom: t.y + t.height,
1550    });
1551  }
1552  function Xt(t, e) {
1553    return "viewport" === e
1554      ? Kt(
1555          (function (t) {
1556            var e = dt(t),
1557              i = Et(t),
1558              n = e.visualViewport,
1559              s = i.clientWidth,
1560              o = i.clientHeight,
1561              r = 0,
1562              a = 0;
1563            return (
1564              n &&
1565                ((s = n.width),
1566                (o = n.height),
1567                /^((?!chrome|android).)*safari/i.test(navigator.userAgent) ||
1568                  ((r = n.offsetLeft), (a = n.offsetTop))),
1569              { width: s, height: o, x: r + Ut(t), y: a }
1570            );
1571          })(t)
1572        )
1573      : ft(e)
1574      ? (function (t) {
1575          var e = _t(t);
1576          return (
1577            (e.top = e.top + t.clientTop),
1578            (e.left = e.left + t.clientLeft),
1579            (e.bottom = e.top + t.clientHeight),
1580            (e.right = e.left + t.clientWidth),
1581            (e.width = t.clientWidth),
1582            (e.height = t.clientHeight),
1583            (e.x = e.left),
1584            (e.y = e.top),
1585            e
1586          );
1587        })(e)
1588      : Kt(
1589          (function (t) {
1590            var e,
1591              i = Et(t),
1592              n = $t(t),
1593              s = null == (e = t.ownerDocument) ? void 0 : e.body,
1594              o = kt(
1595                i.scrollWidth,
1596                i.clientWidth,
1597                s ? s.scrollWidth : 0,
1598                s ? s.clientWidth : 0
1599              ),
1600              r = kt(
1601                i.scrollHeight,
1602                i.clientHeight,
1603                s ? s.scrollHeight : 0,
1604                s ? s.clientHeight : 0
1605              ),
1606              a = -n.scrollLeft + Ut(t),
1607              l = -n.scrollTop;
1608            return (
1609              "rtl" === yt(s || i).direction &&
1610                (a += kt(i.clientWidth, s ? s.clientWidth : 0) - o),
1611              { width: o, height: r, x: a, y: l }
1612            );
1613          })(Et(t))
1614        );
1615  }
1616  function Yt(t) {
1617    return t.split("-")[1];
1618  }
1619  function Qt(t) {
1620    var e,
1621      i = t.reference,
1622      n = t.element,
1623      s = t.placement,
1624      o = s ? gt(s) : null,
1625      r = s ? Yt(s) : null,
1626      a = i.x + i.width / 2 - n.width / 2,
1627      l = i.y + i.height / 2 - n.height / 2;
1628    switch (o) {
1629      case it:
1630        e = { x: a, y: i.y - n.height };
1631        break;
1632      case nt:
1633        e = { x: a, y: i.y + i.height };
1634        break;
1635      case st:
1636        e = { x: i.x + i.width, y: l };
1637        break;
1638      case ot:
1639        e = { x: i.x - n.width, y: l };
1640        break;
1641      default:
1642        e = { x: i.x, y: i.y };
1643    }
1644    var c = o ? Ct(o) : null;
1645    if (null != c) {
1646      var h = "y" === c ? "height" : "width";
1647      switch (r) {
1648        case "start":
1649          e[c] = e[c] - (i[h] / 2 - n[h] / 2);
1650          break;
1651        case "end":
1652          e[c] = e[c] + (i[h] / 2 - n[h] / 2);
1653      }
1654    }
1655    return e;
1656  }
1657  function Gt(t, e) {
1658    void 0 === e && (e = {});
1659    var i = e,
1660      n = i.placement,
1661      s = void 0 === n ? t.placement : n,
1662      o = i.boundary,
1663      r = void 0 === o ? "clippingParents" : o,
1664      a = i.rootBoundary,
1665      l = void 0 === a ? "viewport" : a,
1666      c = i.elementContext,
1667      h = void 0 === c ? "popper" : c,
1668      d = i.altBoundary,
1669      u = void 0 !== d && d,
1670      f = i.padding,
1671      p = void 0 === f ? 0 : f,
1672      m = St("number" != typeof p ? p : It(p, rt)),
1673      g = "popper" === h ? "reference" : "popper",
1674      _ = t.elements.reference,
1675      b = t.rects.popper,
1676      v = t.elements[u ? g : h],
1677      y = (function (t, e, i) {
1678        var n =
1679            "clippingParents" === e
1680              ? (function (t) {
1681                  var e = Vt(At(t)),
1682                    i =
1683                      ["absolute", "fixed"].indexOf(yt(t).position) >= 0 &&
1684                      ft(t)
1685                        ? Ot(t)
1686                        : t;
1687                  return ut(i)
1688                    ? e.filter(function (t) {
1689                        return ut(t) && vt(t, i) && "body" !== ht(t);
1690                      })
1691                    : [];
1692                })(t)
1693              : [].concat(e),
1694          s = [].concat(n, [i]),
1695          o = s[0],
1696          r = s.reduce(function (e, i) {
1697            var n = Xt(t, i);
1698            return (
1699              (e.top = kt(n.top, e.top)),
1700              (e.right = Lt(n.right, e.right)),
1701              (e.bottom = Lt(n.bottom, e.bottom)),
1702              (e.left = kt(n.left, e.left)),
1703              e
1704            );
1705          }, Xt(t, o));
1706        return (
1707          (r.width = r.right - r.left),
1708          (r.height = r.bottom - r.top),
1709          (r.x = r.left),
1710          (r.y = r.top),
1711          r
1712        );
1713      })(ut(v) ? v : v.contextElement || Et(t.elements.popper), r, l),
1714      w = _t(_),
1715      E = Qt({ reference: w, element: b, strategy: "absolute", placement: s }),
1716      A = Kt(Object.assign({}, b, E)),
1717      T = "popper" === h ? A : w,
1718      O = {
1719        top: y.top - T.top + m.top,
1720        bottom: T.bottom - y.bottom + m.bottom,
1721        left: y.left - T.left + m.left,
1722        right: T.right - y.right + m.right,
1723      },
1724      C = t.modifiersData.offset;
1725    if ("popper" === h && C) {
1726      var k = C[s];
1727      Object.keys(O).forEach(function (t) {
1728        var e = [st, nt].indexOf(t) >= 0 ? 1 : -1,
1729          i = [it, nt].indexOf(t) >= 0 ? "y" : "x";
1730        O[t] += k[i] * e;
1731      });
1732    }
1733    return O;
1734  }
1735  function Zt(t, e) {
1736    void 0 === e && (e = {});
1737    var i = e,
1738      n = i.placement,
1739      s = i.boundary,
1740      o = i.rootBoundary,
1741      r = i.padding,
1742      a = i.flipVariations,
1743      l = i.allowedAutoPlacements,
1744      c = void 0 === l ? lt : l,
1745      h = Yt(n),
1746      d = h
1747        ? a
1748          ? at
1749          : at.filter(function (t) {
1750              return Yt(t) === h;
1751            })
1752        : rt,
1753      u = d.filter(function (t) {
1754        return c.indexOf(t) >= 0;
1755      });
1756    0 === u.length && (u = d);
1757    var f = u.reduce(function (e, i) {
1758      return (
1759        (e[i] = Gt(t, {
1760          placement: i,
1761          boundary: s,
1762          rootBoundary: o,
1763          padding: r,
1764        })[gt(i)]),
1765        e
1766      );
1767    }, {});
1768    return Object.keys(f).sort(function (t, e) {
1769      return f[t] - f[e];
1770    });
1771  }
1772  var Jt = {
1773    name: "flip",
1774    enabled: !0,
1775    phase: "main",
1776    fn: function (t) {
1777      var e = t.state,
1778        i = t.options,
1779        n = t.name;
1780      if (!e.modifiersData[n]._skip) {
1781        for (
1782          var s = i.mainAxis,
1783            o = void 0 === s || s,
1784            r = i.altAxis,
1785            a = void 0 === r || r,
1786            l = i.fallbackPlacements,
1787            c = i.padding,
1788            h = i.boundary,
1789            d = i.rootBoundary,
1790            u = i.altBoundary,
1791            f = i.flipVariations,
1792            p = void 0 === f || f,
1793            m = i.allowedAutoPlacements,
1794            g = e.options.placement,
1795            _ = gt(g),
1796            b =
1797              l ||
1798              (_ !== g && p
1799                ? (function (t) {
1800                    if ("auto" === gt(t)) return [];
1801                    var e = Wt(t);
1802                    return [zt(t), e, zt(e)];
1803                  })(g)
1804                : [Wt(g)]),
1805            v = [g].concat(b).reduce(function (t, i) {
1806              return t.concat(
1807                "auto" === gt(i)
1808                  ? Zt(e, {
1809                      placement: i,
1810                      boundary: h,
1811                      rootBoundary: d,
1812                      padding: c,
1813                      flipVariations: p,
1814                      allowedAutoPlacements: m,
1815                    })
1816                  : i
1817              );
1818            }, []),
1819            y = e.rects.reference,
1820            w = e.rects.popper,
1821            E = new Map(),
1822            A = !0,
1823            T = v[0],
1824            O = 0;
1825          O < v.length;
1826          O++
1827        ) {
1828          var C = v[O],
1829            k = gt(C),
1830            L = "start" === Yt(C),
1831            x = [it, nt].indexOf(k) >= 0,
1832            D = x ? "width" : "height",
1833            S = Gt(e, {
1834              placement: C,
1835              boundary: h,
1836              rootBoundary: d,
1837              altBoundary: u,
1838              padding: c,
1839            }),
1840            I = x ? (L ? st : ot) : L ? nt : it;
1841          y[D] > w[D] && (I = Wt(I));
1842          var N = Wt(I),
1843            j = [];
1844          if (
1845            (o && j.push(S[k] <= 0),
1846            a && j.push(S[I] <= 0, S[N] <= 0),
1847            j.every(function (t) {
1848              return t;
1849            }))
1850          ) {
1851            (T = C), (A = !1);
1852            break;
1853          }
1854          E.set(C, j);
1855        }
1856        if (A)
1857          for (
1858            var M = function (t) {
1859                var e = v.find(function (e) {
1860                  var i = E.get(e);
1861                  if (i)
1862                    return i.slice(0, t).every(function (t) {
1863                      return t;
1864                    });
1865                });
1866                if (e) return (T = e), "break";
1867              },
1868              P = p ? 3 : 1;
1869            P > 0 && "break" !== M(P);
1870            P--
1871          );
1872        e.placement !== T &&
1873          ((e.modifiersData[n]._skip = !0), (e.placement = T), (e.reset = !0));
1874      }
1875    },
1876    requiresIfExists: ["offset"],
1877    data: { _skip: !1 },
1878  };
1879  function te(t, e, i) {
1880    return (
1881      void 0 === i && (i = { x: 0, y: 0 }),
1882      {
1883        top: t.top - e.height - i.y,
1884        right: t.right - e.width + i.x,
1885        bottom: t.bottom - e.height + i.y,
1886        left: t.left - e.width - i.x,
1887      }
1888    );
1889  }
1890  function ee(t) {
1891    return [it, st, nt, ot].some(function (e) {
1892      return t[e] >= 0;
1893    });
1894  }
1895  var ie = {
1896      name: "hide",
1897      enabled: !0,
1898      phase: "main",
1899      requiresIfExists: ["preventOverflow"],
1900      fn: function (t) {
1901        var e = t.state,
1902          i = t.name,
1903          n = e.rects.reference,
1904          s = e.rects.popper,
1905          o = e.modifiersData.preventOverflow,
1906          r = Gt(e, { elementContext: "reference" }),
1907          a = Gt(e, { altBoundary: !0 }),
1908          l = te(r, n),
1909          c = te(a, s, o),
1910          h = ee(l),
1911          d = ee(c);
1912        (e.modifiersData[i] = {
1913          referenceClippingOffsets: l,
1914          popperEscapeOffsets: c,
1915          isReferenceHidden: h,
1916          hasPopperEscaped: d,
1917        }),
1918          (e.attributes.popper = Object.assign({}, e.attributes.popper, {
1919            "data-popper-reference-hidden": h,
1920            "data-popper-escaped": d,
1921          }));
1922      },
1923    },
1924    ne = {
1925      name: "offset",
1926      enabled: !0,
1927      phase: "main",
1928      requires: ["popperOffsets"],
1929      fn: function (t) {
1930        var e = t.state,
1931          i = t.options,
1932          n = t.name,
1933          s = i.offset,
1934          o = void 0 === s ? [0, 0] : s,
1935          r = lt.reduce(function (t, i) {
1936            return (
1937              (t[i] = (function (t, e, i) {
1938                var n = gt(t),
1939                  s = [ot, it].indexOf(n) >= 0 ? -1 : 1,
1940                  o =
1941                    "function" == typeof i
1942                      ? i(Object.assign({}, e, { placement: t }))
1943                      : i,
1944                  r = o[0],
1945                  a = o[1];
1946                return (
1947                  (r = r || 0),
1948                  (a = (a || 0) * s),
1949                  [ot, st].indexOf(n) >= 0 ? { x: a, y: r } : { x: r, y: a }
1950                );
1951              })(i, e.rects, o)),
1952              t
1953            );
1954          }, {}),
1955          a = r[e.placement],
1956          l = a.x,
1957          c = a.y;
1958        null != e.modifiersData.popperOffsets &&
1959          ((e.modifiersData.popperOffsets.x += l),
1960          (e.modifiersData.popperOffsets.y += c)),
1961          (e.modifiersData[n] = r);
1962      },
1963    },
1964    se = {
1965      name: "popperOffsets",
1966      enabled: !0,
1967      phase: "read",
1968      fn: function (t) {
1969        var e = t.state,
1970          i = t.name;
1971        e.modifiersData[i] = Qt({
1972          reference: e.rects.reference,
1973          element: e.rects.popper,
1974          strategy: "absolute",
1975          placement: e.placement,
1976        });
1977      },
1978      data: {},
1979    },
1980    oe = {
1981      name: "preventOverflow",
1982      enabled: !0,
1983      phase: "main",
1984      fn: function (t) {
1985        var e = t.state,
1986          i = t.options,
1987          n = t.name,
1988          s = i.mainAxis,
1989          o = void 0 === s || s,
1990          r = i.altAxis,
1991          a = void 0 !== r && r,
1992          l = i.boundary,
1993          c = i.rootBoundary,
1994          h = i.altBoundary,
1995          d = i.padding,
1996          u = i.tether,
1997          f = void 0 === u || u,
1998          p = i.tetherOffset,
1999          m = void 0 === p ? 0 : p,
2000          g = Gt(e, {
2001            boundary: l,
2002            rootBoundary: c,
2003            padding: d,
2004            altBoundary: h,
2005          }),
2006          _ = gt(e.placement),
2007          b = Yt(e.placement),
2008          v = !b,
2009          y = Ct(_),
2010          w = "x" === y ? "y" : "x",
2011          E = e.modifiersData.popperOffsets,
2012          A = e.rects.reference,
2013          T = e.rects.popper,
2014          O =
2015            "function" == typeof m
2016              ? m(Object.assign({}, e.rects, { placement: e.placement }))
2017              : m,
2018          C = { x: 0, y: 0 };
2019        if (E) {
2020          if (o || a) {
2021            var k = "y" === y ? it : ot,
2022              L = "y" === y ? nt : st,
2023              x = "y" === y ? "height" : "width",
2024              D = E[y],
2025              S = E[y] + g[k],
2026              I = E[y] - g[L],
2027              N = f ? -T[x] / 2 : 0,
2028              j = "start" === b ? A[x] : T[x],
2029              M = "start" === b ? -T[x] : -A[x],
2030              P = e.elements.arrow,
2031              H = f && P ? bt(P) : { width: 0, height: 0 },
2032              R = e.modifiersData["arrow#persistent"]
2033                ? e.modifiersData["arrow#persistent"].padding
2034                : { top: 0, right: 0, bottom: 0, left: 0 },
2035              B = R[k],
2036              W = R[L],
2037              q = Dt(0, A[x], H[x]),
2038              z = v ? A[x] / 2 - N - q - B - O : j - q - B - O,
2039              $ = v ? -A[x] / 2 + N + q + W + O : M + q + W + O,
2040              U = e.elements.arrow && Ot(e.elements.arrow),
2041              F = U ? ("y" === y ? U.clientTop || 0 : U.clientLeft || 0) : 0,
2042              V = e.modifiersData.offset
2043                ? e.modifiersData.offset[e.placement][y]
2044                : 0,
2045              K = E[y] + z - V - F,
2046              X = E[y] + $ - V;
2047            if (o) {
2048              var Y = Dt(f ? Lt(S, K) : S, D, f ? kt(I, X) : I);
2049              (E[y] = Y), (C[y] = Y - D);
2050            }
2051            if (a) {
2052              var Q = "x" === y ? it : ot,
2053                G = "x" === y ? nt : st,
2054                Z = E[w],
2055                J = Z + g[Q],
2056                tt = Z - g[G],
2057                et = Dt(f ? Lt(J, K) : J, Z, f ? kt(tt, X) : tt);
2058              (E[w] = et), (C[w] = et - Z);
2059            }
2060          }
2061          e.modifiersData[n] = C;
2062        }
2063      },
2064      requiresIfExists: ["offset"],
2065    };
2066  function re(t, e, i) {
2067    void 0 === i && (i = !1);
2068    var n,
2069      s,
2070      o = Et(e),
2071      r = _t(t),
2072      a = ft(e),
2073      l = { scrollLeft: 0, scrollTop: 0 },
2074      c = { x: 0, y: 0 };
2075    return (
2076      (a || (!a && !i)) &&
2077        (("body" !== ht(e) || Ft(o)) &&
2078          (l =
2079            (n = e) !== dt(n) && ft(n)
2080              ? { scrollLeft: (s = n).scrollLeft, scrollTop: s.scrollTop }
2081              : $t(n)),
2082        ft(e)
2083          ? (((c = _t(e)).x += e.clientLeft), (c.y += e.clientTop))
2084          : o && (c.x = Ut(o))),
2085      {
2086        x: r.left + l.scrollLeft - c.x,
2087        y: r.top + l.scrollTop - c.y,
2088        width: r.width,
2089        height: r.height,
2090      }
2091    );
2092  }
2093  var ae = { placement: "bottom", modifiers: [], strategy: "absolute" };
2094  function le() {
2095    for (var t = arguments.length, e = new Array(t), i = 0; i < t; i++)
2096      e[i] = arguments[i];
2097    return !e.some(function (t) {
2098      return !(t && "function" == typeof t.getBoundingClientRect);
2099    });
2100  }
2101  function ce(t) {
2102    void 0 === t && (t = {});
2103    var e = t,
2104      i = e.defaultModifiers,
2105      n = void 0 === i ? [] : i,
2106      s = e.defaultOptions,
2107      o = void 0 === s ? ae : s;
2108    return function (t, e, i) {
2109      void 0 === i && (i = o);
2110      var s,
2111        r,
2112        a = {
2113          placement: "bottom",
2114          orderedModifiers: [],
2115          options: Object.assign({}, ae, o),
2116          modifiersData: {},
2117          elements: { reference: t, popper: e },
2118          attributes: {},
2119          styles: {},
2120        },
2121        l = [],
2122        c = !1,
2123        h = {
2124          state: a,
2125          setOptions: function (i) {
2126            d(),
2127              (a.options = Object.assign({}, o, a.options, i)),
2128              (a.scrollParents = {
2129                reference: ut(t)
2130                  ? Vt(t)
2131                  : t.contextElement
2132                  ? Vt(t.contextElement)
2133                  : [],
2134                popper: Vt(e),
2135              });
2136            var s,
2137              r,
2138              c = (function (t) {
2139                var e = (function (t) {
2140                  var e = new Map(),
2141                    i = new Set(),
2142                    n = [];
2143                  return (
2144                    t.forEach(function (t) {
2145                      e.set(t.name, t);
2146                    }),
2147                    t.forEach(function (t) {
2148                      i.has(t.name) ||
2149                        (function t(s) {
2150                          i.add(s.name),
2151                            []
2152                              .concat(
2153                                s.requires || [],
2154                                s.requiresIfExists || []
2155                              )
2156                              .forEach(function (n) {
2157                                if (!i.has(n)) {
2158                                  var s = e.get(n);
2159                                  s && t(s);
2160                                }
2161                              }),
2162                            n.push(s);
2163                        })(t);
2164                    }),
2165                    n
2166                  );
2167                })(t);
2168                return ct.reduce(function (t, i) {
2169                  return t.concat(
2170                    e.filter(function (t) {
2171                      return t.phase === i;
2172                    })
2173                  );
2174                }, []);
2175              })(
2176                ((s = [].concat(n, a.options.modifiers)),
2177                (r = s.reduce(function (t, e) {
2178                  var i = t[e.name];
2179                  return (
2180                    (t[e.name] = i
2181                      ? Object.assign({}, i, e, {
2182                          options: Object.assign({}, i.options, e.options),
2183                          data: Object.assign({}, i.data, e.data),
2184                        })
2185                      : e),
2186                    t
2187                  );
2188                }, {})),
2189                Object.keys(r).map(function (t) {
2190                  return r[t];
2191                }))
2192              );
2193            return (
2194              (a.orderedModifiers = c.filter(function (t) {
2195                return t.enabled;
2196              })),
2197              a.orderedModifiers.forEach(function (t) {
2198                var e = t.name,
2199                  i = t.options,
2200                  n = void 0 === i ? {} : i,
2201                  s = t.effect;
2202                if ("function" == typeof s) {
2203                  var o = s({ state: a, name: e, instance: h, options: n });
2204                  l.push(o || function () {});
2205                }
2206              }),
2207              h.update()
2208            );
2209          },
2210          forceUpdate: function () {
2211            if (!c) {
2212              var t = a.elements,
2213                e = t.reference,
2214                i = t.popper;
2215              if (le(e, i)) {
2216                (a.rects = {
2217                  reference: re(e, Ot(i), "fixed" === a.options.strategy),
2218                  popper: bt(i),
2219                }),
2220                  (a.reset = !1),
2221                  (a.placement = a.options.placement),
2222                  a.orderedModifiers.forEach(function (t) {
2223                    return (a.modifiersData[t.name] = Object.assign(
2224                      {},
2225                      t.data
2226                    ));
2227                  });
2228                for (var n = 0; n < a.orderedModifiers.length; n++)
2229                  if (!0 !== a.reset) {
2230                    var s = a.orderedModifiers[n],
2231                      o = s.fn,
2232                      r = s.options,
2233                      l = void 0 === r ? {} : r,
2234                      d = s.name;
2235                    "function" == typeof o &&
2236                      (a =
2237                        o({ state: a, options: l, name: d, instance: h }) || a);
2238                  } else (a.reset = !1), (n = -1);
2239              }
2240            }
2241          },
2242          update:
2243            ((s = function () {
2244              return new Promise(function (t) {
2245                h.forceUpdate(), t(a);
2246              });
2247            }),
2248            function () {
2249              return (
2250                r ||
2251                  (r = new Promise(function (t) {
2252                    Promise.resolve().then(function () {
2253                      (r = void 0), t(s());
2254                    });
2255                  })),
2256                r
2257              );
2258            }),
2259          destroy: function () {
2260            d(), (c = !0);
2261          },
2262        };
2263      if (!le(t, e)) return h;
2264      function d() {
2265        l.forEach(function (t) {
2266          return t();
2267        }),
2268          (l = []);
2269      }
2270      return (
2271        h.setOptions(i).then(function (t) {
2272          !c && i.onFirstUpdate && i.onFirstUpdate(t);
2273        }),
2274        h
2275      );
2276    };
2277  }
2278  var he = ce(),
2279    de = ce({ defaultModifiers: [Rt, se, Pt, mt] }),
2280    ue = ce({ defaultModifiers: [Rt, se, Pt, mt, ne, Jt, oe, Nt, ie] }),
2281    fe = Object.freeze({
2282      __proto__: null,
2283      popperGenerator: ce,
2284      detectOverflow: Gt,
2285      createPopperBase: he,
2286      createPopper: ue,
2287      createPopperLite: de,
2288      top: it,
2289      bottom: nt,
2290      right: st,
2291      left: ot,
2292      auto: "auto",
2293      basePlacements: rt,
2294      start: "start",
2295      end: "end",
2296      clippingParents: "clippingParents",
2297      viewport: "viewport",
2298      popper: "popper",
2299      reference: "reference",
2300      variationPlacements: at,
2301      placements: lt,
2302      beforeRead: "beforeRead",
2303      read: "read",
2304      afterRead: "afterRead",
2305      beforeMain: "beforeMain",
2306      main: "main",
2307      afterMain: "afterMain",
2308      beforeWrite: "beforeWrite",
2309      write: "write",
2310      afterWrite: "afterWrite",
2311      modifierPhases: ct,
2312      applyStyles: mt,
2313      arrow: Nt,
2314      computeStyles: Pt,
2315      eventListeners: Rt,
2316      flip: Jt,
2317      hide: ie,
2318      offset: ne,
2319      popperOffsets: se,
2320      preventOverflow: oe,
2321    });
2322  const pe = new RegExp("ArrowUp|ArrowDown|Escape"),
2323    me = g() ? "top-end" : "top-start",
2324    ge = g() ? "top-start" : "top-end",
2325    _e = g() ? "bottom-end" : "bottom-start",
2326    be = g() ? "bottom-start" : "bottom-end",
2327    ve = g() ? "left-start" : "right-start",
2328    ye = g() ? "right-start" : "left-start",
2329    we = {
2330      offset: [0, 2],
2331      boundary: "clippingParents",
2332      reference: "toggle",
2333      display: "dynamic",
2334      popperConfig: null,
2335      autoClose: !0,
2336    },
2337    Ee = {
2338      offset: "(array|string|function)",
2339      boundary: "(string|element)",
2340      reference: "(string|element|object)",
2341      display: "string",
2342      popperConfig: "(null|object|function)",
2343      autoClose: "(boolean|string)",
2344    };
2345  class Ae extends B {
2346    constructor(t, e) {
2347      super(t),
2348        (this._popper = null),
2349        (this._config = this._getConfig(e)),
2350        (this._menu = this._getMenuElement()),
2351        (this._inNavbar = this._detectNavbar()),
2352        this._addEventListeners();
2353    }
2354    static get Default() {
2355      return we;
2356    }
2357    static get DefaultType() {
2358      return Ee;
2359    }
2360    static get NAME() {
2361      return "dropdown";
2362    }
2363    toggle() {
2364      h(this._element) ||
2365        (this._element.classList.contains("show") ? this.hide() : this.show());
2366    }
2367    show() {
2368      if (h(this._element) || this._menu.classList.contains("show")) return;
2369      const t = Ae.getParentFromElement(this._element),
2370        e = { relatedTarget: this._element };
2371      if (!P.trigger(this._element, "show.bs.dropdown", e).defaultPrevented) {
2372        if (this._inNavbar) U.setDataAttribute(this._menu, "popper", "none");
2373        else {
2374          if (void 0 === fe)
2375            throw new TypeError(
2376              "Bootstrap's dropdowns require Popper (https://popper.js.org)"
2377            );
2378          let e = this._element;
2379          "parent" === this._config.reference
2380            ? (e = t)
2381            : r(this._config.reference)
2382            ? (e = a(this._config.reference))
2383            : "object" == typeof this._config.reference &&
2384              (e = this._config.reference);
2385          const i = this._getPopperConfig(),
2386            n = i.modifiers.find(
2387              (t) => "applyStyles" === t.name && !1 === t.enabled
2388            );
2389          (this._popper = ue(e, this._menu, i)),
2390            n && U.setDataAttribute(this._menu, "popper", "static");
2391        }
2392        "ontouchstart" in document.documentElement &&
vendor: 55,384 bytes, lines 2393-4074
2393          !t.closest(".navbar-nav") &&
2394          []
2395            .concat(...document.body.children)
2396            .forEach((t) => P.on(t, "mouseover", u)),
2397          this._element.focus(),
2398          this._element.setAttribute("aria-expanded", !0),
2399          this._menu.classList.toggle("show"),
2400          this._element.classList.toggle("show"),
2401          P.trigger(this._element, "shown.bs.dropdown", e);
2402      }
2403    }
2404    hide() {
2405      if (h(this._element) || !this._menu.classList.contains("show")) return;
2406      const t = { relatedTarget: this._element };
2407      this._completeHide(t);
2408    }
2409    dispose() {
2410      this._popper && this._popper.destroy(), super.dispose();
2411    }
2412    update() {
2413      (this._inNavbar = this._detectNavbar()),
2414        this._popper && this._popper.update();
2415    }
2416    _addEventListeners() {
2417      P.on(this._element, "click.bs.dropdown", (t) => {
2418        t.preventDefault(), this.toggle();
2419      });
2420    }
2421    _completeHide(t) {
2422      P.trigger(this._element, "hide.bs.dropdown", t).defaultPrevented ||
2423        ("ontouchstart" in document.documentElement &&
2424          []
2425            .concat(...document.body.children)
2426            .forEach((t) => P.off(t, "mouseover", u)),
2427        this._popper && this._popper.destroy(),
2428        this._menu.classList.remove("show"),
2429        this._element.classList.remove("show"),
2430        this._element.setAttribute("aria-expanded", "false"),
2431        U.removeDataAttribute(this._menu, "popper"),
2432        P.trigger(this._element, "hidden.bs.dropdown", t));
2433    }
2434    _getConfig(t) {
2435      if (
2436        ((t = {
2437          ...this.constructor.Default,
2438          ...U.getDataAttributes(this._element),
2439          ...t,
2440        }),
2441        l("dropdown", t, this.constructor.DefaultType),
2442        "object" == typeof t.reference &&
2443          !r(t.reference) &&
2444          "function" != typeof t.reference.getBoundingClientRect)
2445      )
2446        throw new TypeError(
2447          "dropdown".toUpperCase() +
2448            ': Option "reference" provided type "object" without a required "getBoundingClientRect" method.'
2449        );
2450      return t;
2451    }
2452    _getMenuElement() {
2453      return t.next(this._element, ".dropdown-menu")[0];
2454    }
2455    _getPlacement() {
2456      const t = this._element.parentNode;
2457      if (t.classList.contains("dropend")) return ve;
2458      if (t.classList.contains("dropstart")) return ye;
2459      const e =
2460        "end" ===
2461        getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();
2462      return t.classList.contains("dropup") ? (e ? ge : me) : e ? be : _e;
2463    }
2464    _detectNavbar() {
2465      return null !== this._element.closest(".navbar");
2466    }
2467    _getOffset() {
2468      const { offset: t } = this._config;
2469      return "string" == typeof t
2470        ? t.split(",").map((t) => Number.parseInt(t, 10))
2471        : "function" == typeof t
2472        ? (e) => t(e, this._element)
2473        : t;
2474    }
2475    _getPopperConfig() {
2476      const t = {
2477        placement: this._getPlacement(),
2478        modifiers: [
2479          {
2480            name: "preventOverflow",
2481            options: { boundary: this._config.boundary },
2482          },
2483          { name: "offset", options: { offset: this._getOffset() } },
2484        ],
2485      };
2486      return (
2487        "static" === this._config.display &&
2488          (t.modifiers = [{ name: "applyStyles", enabled: !1 }]),
2489        {
2490          ...t,
2491          ...("function" == typeof this._config.popperConfig
2492            ? this._config.popperConfig(t)
2493            : this._config.popperConfig),
2494        }
2495      );
2496    }
2497    _selectMenuItem({ key: e, target: i }) {
2498      const n = t
2499        .find(
2500          ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",
2501          this._menu
2502        )
2503        .filter(c);
2504      n.length && y(n, i, "ArrowDown" === e, !n.includes(i)).focus();
2505    }
2506    static dropdownInterface(t, e) {
2507      const i = Ae.getOrCreateInstance(t, e);
2508      if ("string" == typeof e) {
2509        if (void 0 === i[e]) throw new TypeError(`No method named "${e}"`);
2510        i[e]();
2511      }
2512    }
2513    static jQueryInterface(t) {
2514      return this.each(function () {
2515        Ae.dropdownInterface(this, t);
2516      });
2517    }
2518    static clearMenus(e) {
2519      if (e && (2 === e.button || ("keyup" === e.type && "Tab" !== e.key)))
2520        return;
2521      const i = t.find('[data-bs-toggle="dropdown"]');
2522      for (let t = 0, n = i.length; t < n; t++) {
2523        const n = Ae.getInstance(i[t]);
2524        if (!n || !1 === n._config.autoClose) continue;
2525        if (!n._element.classList.contains("show")) continue;
2526        const s = { relatedTarget: n._element };
2527        if (e) {
2528          const t = e.composedPath(),
2529            i = t.includes(n._menu);
2530          if (
2531            t.includes(n._element) ||
2532            ("inside" === n._config.autoClose && !i) ||
2533            ("outside" === n._config.autoClose && i)
2534          )
2535            continue;
2536          if (
2537            n._menu.contains(e.target) &&
2538            (("keyup" === e.type && "Tab" === e.key) ||
2539              /input|select|option|textarea|form/i.test(e.target.tagName))
2540          )
2541            continue;
2542          "click" === e.type && (s.clickEvent = e);
2543        }
2544        n._completeHide(s);
2545      }
2546    }
2547    static getParentFromElement(t) {
2548      return s(t) || t.parentNode;
2549    }
2550    static dataApiKeydownHandler(e) {
2551      if (
2552        /input|textarea/i.test(e.target.tagName)
2553          ? "Space" === e.key ||
2554            ("Escape" !== e.key &&
2555              (("ArrowDown" !== e.key && "ArrowUp" !== e.key) ||
2556                e.target.closest(".dropdown-menu")))
2557          : !pe.test(e.key)
2558      )
2559        return;
2560      const i = this.classList.contains("show");
2561      if (!i && "Escape" === e.key) return;
2562      if ((e.preventDefault(), e.stopPropagation(), h(this))) return;
2563      const n = () =>
2564        this.matches('[data-bs-toggle="dropdown"]')
2565          ? this
2566          : t.prev(this, '[data-bs-toggle="dropdown"]')[0];
2567      return "Escape" === e.key
2568        ? (n().focus(), void Ae.clearMenus())
2569        : "ArrowUp" === e.key || "ArrowDown" === e.key
2570        ? (i || n().click(), void Ae.getInstance(n())._selectMenuItem(e))
2571        : void ((i && "Space" !== e.key) || Ae.clearMenus());
2572    }
2573  }
2574  P.on(
2575    document,
2576    "keydown.bs.dropdown.data-api",
2577    '[data-bs-toggle="dropdown"]',
2578    Ae.dataApiKeydownHandler
2579  ),
2580    P.on(
2581      document,
2582      "keydown.bs.dropdown.data-api",
2583      ".dropdown-menu",
2584      Ae.dataApiKeydownHandler
2585    ),
2586    P.on(document, "click.bs.dropdown.data-api", Ae.clearMenus),
2587    P.on(document, "keyup.bs.dropdown.data-api", Ae.clearMenus),
2588    P.on(
2589      document,
2590      "click.bs.dropdown.data-api",
2591      '[data-bs-toggle="dropdown"]',
2592      function (t) {
2593        t.preventDefault(), Ae.dropdownInterface(this);
2594      }
2595    ),
2596    _(Ae);
2597  class Te {
2598    constructor() {
2599      this._element = document.body;
2600    }
2601    getWidth() {
2602      const t = document.documentElement.clientWidth;
2603      return Math.abs(window.innerWidth - t);
2604    }
2605    hide() {
2606      const t = this.getWidth();
2607      this._disableOverFlow(),
2608        this._setElementAttributes(this._element, "paddingRight", (e) => e + t),
2609        this._setElementAttributes(
2610          ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",
2611          "paddingRight",
2612          (e) => e + t
2613        ),
2614        this._setElementAttributes(".sticky-top", "marginRight", (e) => e - t);
2615    }
2616    _disableOverFlow() {
2617      this._saveInitialAttribute(this._element, "overflow"),
2618        (this._element.style.overflow = "hidden");
2619    }
2620    _setElementAttributes(t, e, i) {
2621      const n = this.getWidth();
2622      this._applyManipulationCallback(t, (t) => {
2623        if (t !== this._element && window.innerWidth > t.clientWidth + n)
2624          return;
2625        this._saveInitialAttribute(t, e);
2626        const s = window.getComputedStyle(t)[e];
2627        t.style[e] = i(Number.parseFloat(s)) + "px";
2628      });
2629    }
2630    reset() {
2631      this._resetElementAttributes(this._element, "overflow"),
2632        this._resetElementAttributes(this._element, "paddingRight"),
2633        this._resetElementAttributes(
2634          ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",
2635          "paddingRight"
2636        ),
2637        this._resetElementAttributes(".sticky-top", "marginRight");
2638    }
2639    _saveInitialAttribute(t, e) {
2640      const i = t.style[e];
2641      i && U.setDataAttribute(t, e, i);
2642    }
2643    _resetElementAttributes(t, e) {
2644      this._applyManipulationCallback(t, (t) => {
2645        const i = U.getDataAttribute(t, e);
2646        void 0 === i
2647          ? t.style.removeProperty(e)
2648          : (U.removeDataAttribute(t, e), (t.style[e] = i));
2649      });
2650    }
2651    _applyManipulationCallback(e, i) {
2652      r(e) ? i(e) : t.find(e, this._element).forEach(i);
2653    }
2654    isOverflowing() {
2655      return this.getWidth() > 0;
2656    }
2657  }
2658  const Oe = {
2659      isVisible: !0,
2660      isAnimated: !1,
2661      rootElement: "body",
2662      clickCallback: null,
2663    },
2664    Ce = {
2665      isVisible: "boolean",
2666      isAnimated: "boolean",
2667      rootElement: "(element|string)",
2668      clickCallback: "(function|null)",
2669    };
2670  class ke {
2671    constructor(t) {
2672      (this._config = this._getConfig(t)),
2673        (this._isAppended = !1),
2674        (this._element = null);
2675    }
2676    show(t) {
2677      this._config.isVisible
2678        ? (this._append(),
2679          this._config.isAnimated && f(this._getElement()),
2680          this._getElement().classList.add("show"),
2681          this._emulateAnimation(() => {
2682            b(t);
2683          }))
2684        : b(t);
2685    }
2686    hide(t) {
2687      this._config.isVisible
2688        ? (this._getElement().classList.remove("show"),
2689          this._emulateAnimation(() => {
2690            this.dispose(), b(t);
2691          }))
2692        : b(t);
2693    }
2694    _getElement() {
2695      if (!this._element) {
2696        const t = document.createElement("div");
2697        (t.className = "modal-backdrop"),
2698          this._config.isAnimated && t.classList.add("fade"),
2699          (this._element = t);
2700      }
2701      return this._element;
2702    }
2703    _getConfig(t) {
2704      return (
2705        ((t = { ...Oe, ...("object" == typeof t ? t : {}) }).rootElement = a(
2706          t.rootElement
2707        )),
2708        l("backdrop", t, Ce),
2709        t
2710      );
2711    }
2712    _append() {
2713      this._isAppended ||
2714        (this._config.rootElement.appendChild(this._getElement()),
2715        P.on(this._getElement(), "mousedown.bs.backdrop", () => {
2716          b(this._config.clickCallback);
2717        }),
2718        (this._isAppended = !0));
2719    }
2720    dispose() {
2721      this._isAppended &&
2722        (P.off(this._element, "mousedown.bs.backdrop"),
2723        this._element.remove(),
2724        (this._isAppended = !1));
2725    }
2726    _emulateAnimation(t) {
2727      v(t, this._getElement(), this._config.isAnimated);
2728    }
2729  }
2730  const Le = { backdrop: !0, keyboard: !0, focus: !0 },
2731    xe = {
2732      backdrop: "(boolean|string)",
2733      keyboard: "boolean",
2734      focus: "boolean",
2735    };
2736  class De extends B {
2737    constructor(e, i) {
2738      super(e),
2739        (this._config = this._getConfig(i)),
2740        (this._dialog = t.findOne(".modal-dialog", this._element)),
2741        (this._backdrop = this._initializeBackDrop()),
2742        (this._isShown = !1),
2743        (this._ignoreBackdropClick = !1),
2744        (this._isTransitioning = !1),
2745        (this._scrollBar = new Te());
2746    }
2747    static get Default() {
2748      return Le;
2749    }
2750    static get NAME() {
2751      return "modal";
2752    }
2753    toggle(t) {
2754      return this._isShown ? this.hide() : this.show(t);
2755    }
2756    show(t) {
2757      this._isShown ||
2758        this._isTransitioning ||
2759        P.trigger(this._element, "show.bs.modal", { relatedTarget: t })
2760          .defaultPrevented ||
2761        ((this._isShown = !0),
2762        this._isAnimated() && (this._isTransitioning = !0),
2763        this._scrollBar.hide(),
2764        document.body.classList.add("modal-open"),
2765        this._adjustDialog(),
2766        this._setEscapeEvent(),
2767        this._setResizeEvent(),
2768        P.on(
2769          this._element,
2770          "click.dismiss.bs.modal",
2771          '[data-bs-dismiss="modal"]',
2772          (t) => this.hide(t)
2773        ),
2774        P.on(this._dialog, "mousedown.dismiss.bs.modal", () => {
2775          P.one(this._element, "mouseup.dismiss.bs.modal", (t) => {
2776            t.target === this._element && (this._ignoreBackdropClick = !0);
2777          });
2778        }),
2779        this._showBackdrop(() => this._showElement(t)));
2780    }
2781    hide(t) {
2782      if (
2783        (t && ["A", "AREA"].includes(t.target.tagName) && t.preventDefault(),
2784        !this._isShown || this._isTransitioning)
2785      )
2786        return;
2787      if (P.trigger(this._element, "hide.bs.modal").defaultPrevented) return;
2788      this._isShown = !1;
2789      const e = this._isAnimated();
2790      e && (this._isTransitioning = !0),
2791        this._setEscapeEvent(),
2792        this._setResizeEvent(),
2793        P.off(document, "focusin.bs.modal"),
2794        this._element.classList.remove("show"),
2795        P.off(this._element, "click.dismiss.bs.modal"),
2796        P.off(this._dialog, "mousedown.dismiss.bs.modal"),
2797        this._queueCallback(() => this._hideModal(), this._element, e);
2798    }
2799    dispose() {
2800      [window, this._dialog].forEach((t) => P.off(t, ".bs.modal")),
2801        this._backdrop.dispose(),
2802        super.dispose(),
2803        P.off(document, "focusin.bs.modal");
2804    }
2805    handleUpdate() {
2806      this._adjustDialog();
2807    }
2808    _initializeBackDrop() {
2809      return new ke({
2810        isVisible: Boolean(this._config.backdrop),
2811        isAnimated: this._isAnimated(),
2812      });
2813    }
2814    _getConfig(t) {
2815      return (
2816        (t = {
2817          ...Le,
2818          ...U.getDataAttributes(this._element),
2819          ...("object" == typeof t ? t : {}),
2820        }),
2821        l("modal", t, xe),
2822        t
2823      );
2824    }
2825    _showElement(e) {
2826      const i = this._isAnimated(),
2827        n = t.findOne(".modal-body", this._dialog);
2828      (this._element.parentNode &&
2829        this._element.parentNode.nodeType === Node.ELEMENT_NODE) ||
2830        document.body.appendChild(this._element),
2831        (this._element.style.display = "block"),
2832        this._element.removeAttribute("aria-hidden"),
2833        this._element.setAttribute("aria-modal", !0),
2834        this._element.setAttribute("role", "dialog"),
2835        (this._element.scrollTop = 0),
2836        n && (n.scrollTop = 0),
2837        i && f(this._element),
2838        this._element.classList.add("show"),
2839        this._config.focus && this._enforceFocus(),
2840        this._queueCallback(
2841          () => {
2842            this._config.focus && this._element.focus(),
2843              (this._isTransitioning = !1),
2844              P.trigger(this._element, "shown.bs.modal", { relatedTarget: e });
2845          },
2846          this._dialog,
2847          i
2848        );
2849    }
2850    _enforceFocus() {
2851      P.off(document, "focusin.bs.modal"),
2852        P.on(document, "focusin.bs.modal", (t) => {
2853          document === t.target ||
2854            this._element === t.target ||
2855            this._element.contains(t.target) ||
2856            this._element.focus();
2857        });
2858    }
2859    _setEscapeEvent() {
2860      this._isShown
2861        ? P.on(this._element, "keydown.dismiss.bs.modal", (t) => {
2862            this._config.keyboard && "Escape" === t.key
2863              ? (t.preventDefault(), this.hide())
2864              : this._config.keyboard ||
2865                "Escape" !== t.key ||
2866                this._triggerBackdropTransition();
2867          })
2868        : P.off(this._element, "keydown.dismiss.bs.modal");
2869    }
2870    _setResizeEvent() {
2871      this._isShown
2872        ? P.on(window, "resize.bs.modal", () => this._adjustDialog())
2873        : P.off(window, "resize.bs.modal");
2874    }
2875    _hideModal() {
2876      (this._element.style.display = "none"),
2877        this._element.setAttribute("aria-hidden", !0),
2878        this._element.removeAttribute("aria-modal"),
2879        this._element.removeAttribute("role"),
2880        (this._isTransitioning = !1),
2881        this._backdrop.hide(() => {
2882          document.body.classList.remove("modal-open"),
2883            this._resetAdjustments(),
2884            this._scrollBar.reset(),
2885            P.trigger(this._element, "hidden.bs.modal");
2886        });
2887    }
2888    _showBackdrop(t) {
2889      P.on(this._element, "click.dismiss.bs.modal", (t) => {
2890        this._ignoreBackdropClick
2891          ? (this._ignoreBackdropClick = !1)
2892          : t.target === t.currentTarget &&
2893            (!0 === this._config.backdrop
2894              ? this.hide()
2895              : "static" === this._config.backdrop &&
2896                this._triggerBackdropTransition());
2897      }),
2898        this._backdrop.show(t);
2899    }
2900    _isAnimated() {
2901      return this._element.classList.contains("fade");
2902    }
2903    _triggerBackdropTransition() {
2904      if (P.trigger(this._element, "hidePrevented.bs.modal").defaultPrevented)
2905        return;
2906      const { classList: t, scrollHeight: e, style: i } = this._element,
2907        n = e > document.documentElement.clientHeight;
2908      (!n && "hidden" === i.overflowY) ||
2909        t.contains("modal-static") ||
2910        (n || (i.overflowY = "hidden"),
2911        t.add("modal-static"),
2912        this._queueCallback(() => {
2913          t.remove("modal-static"),
2914            n ||
2915              this._queueCallback(() => {
2916                i.overflowY = "";
2917              }, this._dialog);
2918        }, this._dialog),
2919        this._element.focus());
2920    }
2921    _adjustDialog() {
2922      const t =
2923          this._element.scrollHeight > document.documentElement.clientHeight,
2924        e = this._scrollBar.getWidth(),
2925        i = e > 0;
2926      ((!i && t && !g()) || (i && !t && g())) &&
2927        (this._element.style.paddingLeft = e + "px"),
2928        ((i && !t && !g()) || (!i && t && g())) &&
2929          (this._element.style.paddingRight = e + "px");
2930    }
2931    _resetAdjustments() {
2932      (this._element.style.paddingLeft = ""),
2933        (this._element.style.paddingRight = "");
2934    }
2935    static jQueryInterface(t, e) {
2936      return this.each(function () {
2937        const i = De.getOrCreateInstance(this, t);
2938        if ("string" == typeof t) {
2939          if (void 0 === i[t]) throw new TypeError(`No method named "${t}"`);
2940          i[t](e);
2941        }
2942      });
2943    }
2944  }
2945  P.on(
2946    document,
2947    "click.bs.modal.data-api",
2948    '[data-bs-toggle="modal"]',
2949    function (t) {
2950      const e = s(this);
2951      ["A", "AREA"].includes(this.tagName) && t.preventDefault(),
2952        P.one(e, "show.bs.modal", (t) => {
2953          t.defaultPrevented ||
2954            P.one(e, "hidden.bs.modal", () => {
2955              c(this) && this.focus();
2956            });
2957        }),
2958        De.getOrCreateInstance(e).toggle(this);
2959    }
2960  ),
2961    _(De);
2962  const Se = { backdrop: !0, keyboard: !0, scroll: !1 },
2963    Ie = { backdrop: "boolean", keyboard: "boolean", scroll: "boolean" };
2964  class Ne extends B {
2965    constructor(t, e) {
2966      super(t),
2967        (this._config = this._getConfig(e)),
2968        (this._isShown = !1),
2969        (this._backdrop = this._initializeBackDrop()),
2970        this._addEventListeners();
2971    }
2972    static get NAME() {
2973      return "offcanvas";
2974    }
2975    static get Default() {
2976      return Se;
2977    }
2978    toggle(t) {
2979      return this._isShown ? this.hide() : this.show(t);
2980    }
2981    show(t) {
2982      this._isShown ||
2983        P.trigger(this._element, "show.bs.offcanvas", { relatedTarget: t })
2984          .defaultPrevented ||
2985        ((this._isShown = !0),
2986        (this._element.style.visibility = "visible"),
2987        this._backdrop.show(),
2988        this._config.scroll ||
2989          (new Te().hide(), this._enforceFocusOnElement(this._element)),
2990        this._element.removeAttribute("aria-hidden"),
2991        this._element.setAttribute("aria-modal", !0),
2992        this._element.setAttribute("role", "dialog"),
2993        this._element.classList.add("show"),
2994        this._queueCallback(
2995          () => {
2996            P.trigger(this._element, "shown.bs.offcanvas", {
2997              relatedTarget: t,
2998            });
2999          },
3000          this._element,
3001          !0
3002        ));
3003    }
3004    hide() {
3005      this._isShown &&
3006        (P.trigger(this._element, "hide.bs.offcanvas").defaultPrevented ||
3007          (P.off(document, "focusin.bs.offcanvas"),
3008          this._element.blur(),
3009          (this._isShown = !1),
3010          this._element.classList.remove("show"),
3011          this._backdrop.hide(),
3012          this._queueCallback(
3013            () => {
3014              this._element.setAttribute("aria-hidden", !0),
3015                this._element.removeAttribute("aria-modal"),
3016                this._element.removeAttribute("role"),
3017                (this._element.style.visibility = "hidden"),
3018                this._config.scroll || new Te().reset(),
3019                P.trigger(this._element, "hidden.bs.offcanvas");
3020            },
3021            this._element,
3022            !0
3023          )));
3024    }
3025    dispose() {
3026      this._backdrop.dispose(),
3027        super.dispose(),
3028        P.off(document, "focusin.bs.offcanvas");
3029    }
3030    _getConfig(t) {
3031      return (
3032        (t = {
3033          ...Se,
3034          ...U.getDataAttributes(this._element),
3035          ...("object" == typeof t ? t : {}),
3036        }),
3037        l("offcanvas", t, Ie),
3038        t
3039      );
3040    }
3041    _initializeBackDrop() {
3042      return new ke({
3043        isVisible: this._config.backdrop,
3044        isAnimated: !0,
3045        rootElement: this._element.parentNode,
3046        clickCallback: () => this.hide(),
3047      });
3048    }
3049    _enforceFocusOnElement(t) {
3050      P.off(document, "focusin.bs.offcanvas"),
3051        P.on(document, "focusin.bs.offcanvas", (e) => {
3052          document === e.target ||
3053            t === e.target ||
3054            t.contains(e.target) ||
3055            t.focus();
3056        }),
3057        t.focus();
3058    }
3059    _addEventListeners() {
3060      P.on(
3061        this._element,
3062        "click.dismiss.bs.offcanvas",
3063        '[data-bs-dismiss="offcanvas"]',
3064        () => this.hide()
3065      ),
3066        P.on(this._element, "keydown.dismiss.bs.offcanvas", (t) => {
3067          this._config.keyboard && "Escape" === t.key && this.hide();
3068        });
3069    }
3070    static jQueryInterface(t) {
3071      return this.each(function () {
3072        const e = Ne.getOrCreateInstance(this, t);
3073        if ("string" == typeof t) {
3074          if (void 0 === e[t] || t.startsWith("_") || "constructor" === t)
3075            throw new TypeError(`No method named "${t}"`);
3076          e[t](this);
3077        }
3078      });
3079    }
3080  }
3081  P.on(
3082    document,
3083    "click.bs.offcanvas.data-api",
3084    '[data-bs-toggle="offcanvas"]',
3085    function (e) {
3086      const i = s(this);
3087      if ((["A", "AREA"].includes(this.tagName) && e.preventDefault(), h(this)))
3088        return;
3089      P.one(i, "hidden.bs.offcanvas", () => {
3090        c(this) && this.focus();
3091      });
3092      const n = t.findOne(".offcanvas.show");
3093      n && n !== i && Ne.getInstance(n).hide(),
3094        Ne.getOrCreateInstance(i).toggle(this);
3095    }
3096  ),
3097    P.on(window, "load.bs.offcanvas.data-api", () =>
3098      t.find(".offcanvas.show").forEach((t) => Ne.getOrCreateInstance(t).show())
3099    ),
3100    _(Ne);
3101  const je = new Set([
3102      "background",
3103      "cite",
3104      "href",
3105      "itemtype",
3106      "longdesc",
3107      "poster",
3108      "src",
3109      "xlink:href",
3110    ]),
3111    Me = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i,
3112    Pe =
3113      /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,
3114    He = (t, e) => {
3115      const i = t.nodeName.toLowerCase();
3116      if (e.includes(i))
3117        return (
3118          !je.has(i) || Boolean(Me.test(t.nodeValue) || Pe.test(t.nodeValue))
3119        );
3120      const n = e.filter((t) => t instanceof RegExp);
3121      for (let t = 0, e = n.length; t < e; t++) if (n[t].test(i)) return !0;
3122      return !1;
3123    };
3124  function Re(t, e, i) {
3125    if (!t.length) return t;
3126    if (i && "function" == typeof i) return i(t);
3127    const n = new window.DOMParser().parseFromString(t, "text/html"),
3128      s = Object.keys(e),
3129      o = [].concat(...n.body.querySelectorAll("*"));
3130    for (let t = 0, i = o.length; t < i; t++) {
3131      const i = o[t],
3132        n = i.nodeName.toLowerCase();
3133      if (!s.includes(n)) {
3134        i.remove();
3135        continue;
3136      }
3137      const r = [].concat(...i.attributes),
3138        a = [].concat(e["*"] || [], e[n] || []);
3139      r.forEach((t) => {
3140        He(t, a) || i.removeAttribute(t.nodeName);
3141      });
3142    }
3143    return n.body.innerHTML;
3144  }
3145  const Be = new RegExp("(^|\\s)bs-tooltip\\S+", "g"),
3146    We = new Set(["sanitize", "allowList", "sanitizeFn"]),
3147    qe = {
3148      animation: "boolean",
3149      template: "string",
3150      title: "(string|element|function)",
3151      trigger: "string",
3152      delay: "(number|object)",
3153      html: "boolean",
3154      selector: "(string|boolean)",
3155      placement: "(string|function)",
3156      offset: "(array|string|function)",
3157      container: "(string|element|boolean)",
3158      fallbackPlacements: "array",
3159      boundary: "(string|element)",
3160      customClass: "(string|function)",
3161      sanitize: "boolean",
3162      sanitizeFn: "(null|function)",
3163      allowList: "object",
3164      popperConfig: "(null|object|function)",
3165    },
3166    ze = {
3167      AUTO: "auto",
3168      TOP: "top",
3169      RIGHT: g() ? "left" : "right",
3170      BOTTOM: "bottom",
3171      LEFT: g() ? "right" : "left",
3172    },
3173    $e = {
3174      animation: !0,
3175      template:
3176        '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
3177      trigger: "hover focus",
3178      title: "",
3179      delay: 0,
3180      html: !1,
3181      selector: !1,
3182      placement: "top",
3183      offset: [0, 0],
3184      container: !1,
3185      fallbackPlacements: ["top", "right", "bottom", "left"],
3186      boundary: "clippingParents",
3187      customClass: "",
3188      sanitize: !0,
3189      sanitizeFn: null,
3190      allowList: {
3191        "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i],
3192        a: ["target", "href", "title", "rel"],
3193        area: [],
3194        b: [],
3195        br: [],
3196        col: [],
3197        code: [],
3198        div: [],
3199        em: [],
3200        hr: [],
3201        h1: [],
3202        h2: [],
3203        h3: [],
3204        h4: [],
3205        h5: [],
3206        h6: [],
3207        i: [],
3208        img: ["src", "srcset", "alt", "title", "width", "height"],
3209        li: [],
3210        ol: [],
3211        p: [],
3212        pre: [],
3213        s: [],
3214        small: [],
3215        span: [],
3216        sub: [],
3217        sup: [],
3218        strong: [],
3219        u: [],
3220        ul: [],
3221      },
3222      popperConfig: null,
3223    },
3224    Ue = {
3225      HIDE: "hide.bs.tooltip",
3226      HIDDEN: "hidden.bs.tooltip",
3227      SHOW: "show.bs.tooltip",
3228      SHOWN: "shown.bs.tooltip",
3229      INSERTED: "inserted.bs.tooltip",
3230      CLICK: "click.bs.tooltip",
3231      FOCUSIN: "focusin.bs.tooltip",
3232      FOCUSOUT: "focusout.bs.tooltip",
3233      MOUSEENTER: "mouseenter.bs.tooltip",
3234      MOUSELEAVE: "mouseleave.bs.tooltip",
3235    };
3236  class Fe extends B {
3237    constructor(t, e) {
3238      if (void 0 === fe)
3239        throw new TypeError(
3240          "Bootstrap's tooltips require Popper (https://popper.js.org)"
3241        );
3242      super(t),
3243        (this._isEnabled = !0),
3244        (this._timeout = 0),
3245        (this._hoverState = ""),
3246        (this._activeTrigger = {}),
3247        (this._popper = null),
3248        (this._config = this._getConfig(e)),
3249        (this.tip = null),
3250        this._setListeners();
3251    }
3252    static get Default() {
3253      return $e;
3254    }
3255    static get NAME() {
3256      return "tooltip";
3257    }
3258    static get Event() {
3259      return Ue;
3260    }
3261    static get DefaultType() {
3262      return qe;
3263    }
3264    enable() {
3265      this._isEnabled = !0;
3266    }
3267    disable() {
3268      this._isEnabled = !1;
3269    }
3270    toggleEnabled() {
3271      this._isEnabled = !this._isEnabled;
3272    }
3273    toggle(t) {
3274      if (this._isEnabled)
3275        if (t) {
3276          const e = this._initializeOnDelegatedTarget(t);
3277          (e._activeTrigger.click = !e._activeTrigger.click),
3278            e._isWithActiveTrigger() ? e._enter(null, e) : e._leave(null, e);
3279        } else {
3280          if (this.getTipElement().classList.contains("show"))
3281            return void this._leave(null, this);
3282          this._enter(null, this);
3283        }
3284    }
3285    dispose() {
3286      clearTimeout(this._timeout),
3287        P.off(
3288          this._element.closest(".modal"),
3289          "hide.bs.modal",
3290          this._hideModalHandler
3291        ),
3292        this.tip && this.tip.remove(),
3293        this._popper && this._popper.destroy(),
3294        super.dispose();
3295    }
3296    show() {
3297      if ("none" === this._element.style.display)
3298        throw new Error("Please use show on visible elements");
3299      if (!this.isWithContent() || !this._isEnabled) return;
3300      const t = P.trigger(this._element, this.constructor.Event.SHOW),
3301        i = d(this._element),
3302        n =
3303          null === i
3304            ? this._element.ownerDocument.documentElement.contains(
3305                this._element
3306              )
3307            : i.contains(this._element);
3308      if (t.defaultPrevented || !n) return;
3309      const s = this.getTipElement(),
3310        o = e(this.constructor.NAME);
3311      s.setAttribute("id", o),
3312        this._element.setAttribute("aria-describedby", o),
3313        this.setContent(),
3314        this._config.animation && s.classList.add("fade");
3315      const r =
3316          "function" == typeof this._config.placement
3317            ? this._config.placement.call(this, s, this._element)
3318            : this._config.placement,
3319        a = this._getAttachment(r);
3320      this._addAttachmentClass(a);
3321      const { container: l } = this._config;
3322      R.set(s, this.constructor.DATA_KEY, this),
3323        this._element.ownerDocument.documentElement.contains(this.tip) ||
3324          (l.appendChild(s),
3325          P.trigger(this._element, this.constructor.Event.INSERTED)),
3326        this._popper
3327          ? this._popper.update()
3328          : (this._popper = ue(this._element, s, this._getPopperConfig(a))),
3329        s.classList.add("show");
3330      const c =
3331        "function" == typeof this._config.customClass
3332          ? this._config.customClass()
3333          : this._config.customClass;
3334      c && s.classList.add(...c.split(" ")),
3335        "ontouchstart" in document.documentElement &&
3336          [].concat(...document.body.children).forEach((t) => {
3337            P.on(t, "mouseover", u);
3338          });
3339      const h = this.tip.classList.contains("fade");
3340      this._queueCallback(
3341        () => {
3342          const t = this._hoverState;
3343          (this._hoverState = null),
3344            P.trigger(this._element, this.constructor.Event.SHOWN),
3345            "out" === t && this._leave(null, this);
3346        },
3347        this.tip,
3348        h
3349      );
3350    }
3351    hide() {
3352      if (!this._popper) return;
3353      const t = this.getTipElement();
3354      if (
3355        P.trigger(this._element, this.constructor.Event.HIDE).defaultPrevented
3356      )
3357        return;
3358      t.classList.remove("show"),
3359        "ontouchstart" in document.documentElement &&
3360          []
3361            .concat(...document.body.children)
3362            .forEach((t) => P.off(t, "mouseover", u)),
3363        (this._activeTrigger.click = !1),
3364        (this._activeTrigger.focus = !1),
3365        (this._activeTrigger.hover = !1);
3366      const e = this.tip.classList.contains("fade");
3367      this._queueCallback(
3368        () => {
3369          this._isWithActiveTrigger() ||
3370            ("show" !== this._hoverState && t.remove(),
3371            this._cleanTipClass(),
3372            this._element.removeAttribute("aria-describedby"),
3373            P.trigger(this._element, this.constructor.Event.HIDDEN),
3374            this._popper && (this._popper.destroy(), (this._popper = null)));
3375        },
3376        this.tip,
3377        e
3378      ),
3379        (this._hoverState = "");
3380    }
3381    update() {
3382      null !== this._popper && this._popper.update();
3383    }
3384    isWithContent() {
3385      return Boolean(this.getTitle());
3386    }
3387    getTipElement() {
3388      if (this.tip) return this.tip;
3389      const t = document.createElement("div");
3390      return (
3391        (t.innerHTML = this._config.template),
3392        (this.tip = t.children[0]),
3393        this.tip
3394      );
3395    }
3396    setContent() {
3397      const e = this.getTipElement();
3398      this.setElementContent(t.findOne(".tooltip-inner", e), this.getTitle()),
3399        e.classList.remove("fade", "show");
3400    }
3401    setElementContent(t, e) {
3402      if (null !== t)
3403        return r(e)
3404          ? ((e = a(e)),
3405            void (this._config.html
3406              ? e.parentNode !== t && ((t.innerHTML = ""), t.appendChild(e))
3407              : (t.textContent = e.textContent)))
3408          : void (this._config.html
3409              ? (this._config.sanitize &&
3410                  (e = Re(e, this._config.allowList, this._config.sanitizeFn)),
3411                (t.innerHTML = e))
3412              : (t.textContent = e));
3413    }
3414    getTitle() {
3415      let t = this._element.getAttribute("data-bs-original-title");
3416      return (
3417        t ||
3418          (t =
3419            "function" == typeof this._config.title
3420              ? this._config.title.call(this._element)
3421              : this._config.title),
3422        t
3423      );
3424    }
3425    updateAttachment(t) {
3426      return "right" === t ? "end" : "left" === t ? "start" : t;
3427    }
3428    _initializeOnDelegatedTarget(t, e) {
3429      const i = this.constructor.DATA_KEY;
3430      return (
3431        (e = e || R.get(t.delegateTarget, i)) ||
3432          ((e = new this.constructor(
3433            t.delegateTarget,
3434            this._getDelegateConfig()
3435          )),
3436          R.set(t.delegateTarget, i, e)),
3437        e
3438      );
3439    }
3440    _getOffset() {
3441      const { offset: t } = this._config;
3442      return "string" == typeof t
3443        ? t.split(",").map((t) => Number.parseInt(t, 10))
3444        : "function" == typeof t
3445        ? (e) => t(e, this._element)
3446        : t;
3447    }
3448    _getPopperConfig(t) {
3449      const e = {
3450        placement: t,
3451        modifiers: [
3452          {
3453            name: "flip",
3454            options: { fallbackPlacements: this._config.fallbackPlacements },
3455          },
3456          { name: "offset", options: { offset: this._getOffset() } },
3457          {
3458            name: "preventOverflow",
3459            options: { boundary: this._config.boundary },
3460          },
3461          {
3462            name: "arrow",
3463            options: { element: `.${this.constructor.NAME}-arrow` },
3464          },
3465          {
3466            name: "onChange",
3467            enabled: !0,
3468            phase: "afterWrite",
3469            fn: (t) => this._handlePopperPlacementChange(t),
3470          },
3471        ],
3472        onFirstUpdate: (t) => {
3473          t.options.placement !== t.placement &&
3474            this._handlePopperPlacementChange(t);
3475        },
3476      };
3477      return {
3478        ...e,
3479        ...("function" == typeof this._config.popperConfig
3480          ? this._config.popperConfig(e)
3481          : this._config.popperConfig),
3482      };
3483    }
3484    _addAttachmentClass(t) {
3485      this.getTipElement().classList.add(
3486        "bs-tooltip-" + this.updateAttachment(t)
3487      );
3488    }
3489    _getAttachment(t) {
3490      return ze[t.toUpperCase()];
3491    }
3492    _setListeners() {
3493      this._config.trigger.split(" ").forEach((t) => {
3494        if ("click" === t)
3495          P.on(
3496            this._element,
3497            this.constructor.Event.CLICK,
3498            this._config.selector,
3499            (t) => this.toggle(t)
3500          );
3501        else if ("manual" !== t) {
3502          const e =
3503              "hover" === t
3504                ? this.constructor.Event.MOUSEENTER
3505                : this.constructor.Event.FOCUSIN,
3506            i =
3507              "hover" === t
3508                ? this.constructor.Event.MOUSELEAVE
3509                : this.constructor.Event.FOCUSOUT;
3510          P.on(this._element, e, this._config.selector, (t) => this._enter(t)),
3511            P.on(this._element, i, this._config.selector, (t) =>
3512              this._leave(t)
3513            );
3514        }
3515      }),
3516        (this._hideModalHandler = () => {
3517          this._element && this.hide();
3518        }),
3519        P.on(
3520          this._element.closest(".modal"),
3521          "hide.bs.modal",
3522          this._hideModalHandler
3523        ),
3524        this._config.selector
3525          ? (this._config = {
3526              ...this._config,
3527              trigger: "manual",
3528              selector: "",
3529            })
3530          : this._fixTitle();
3531    }
3532    _fixTitle() {
3533      const t = this._element.getAttribute("title"),
3534        e = typeof this._element.getAttribute("data-bs-original-title");
3535      (t || "string" !== e) &&
3536        (this._element.setAttribute("data-bs-original-title", t || ""),
3537        !t ||
3538          this._element.getAttribute("aria-label") ||
3539          this._element.textContent ||
3540          this._element.setAttribute("aria-label", t),
3541        this._element.setAttribute("title", ""));
3542    }
3543    _enter(t, e) {
3544      (e = this._initializeOnDelegatedTarget(t, e)),
3545        t && (e._activeTrigger["focusin" === t.type ? "focus" : "hover"] = !0),
3546        e.getTipElement().classList.contains("show") || "show" === e._hoverState
3547          ? (e._hoverState = "show")
3548          : (clearTimeout(e._timeout),
3549            (e._hoverState = "show"),
3550            e._config.delay && e._config.delay.show
3551              ? (e._timeout = setTimeout(() => {
3552                  "show" === e._hoverState && e.show();
3553                }, e._config.delay.show))
3554              : e.show());
3555    }
3556    _leave(t, e) {
3557      (e = this._initializeOnDelegatedTarget(t, e)),
3558        t &&
3559          (e._activeTrigger["focusout" === t.type ? "focus" : "hover"] =
3560            e._element.contains(t.relatedTarget)),
3561        e._isWithActiveTrigger() ||
3562          (clearTimeout(e._timeout),
3563          (e._hoverState = "out"),
3564          e._config.delay && e._config.delay.hide
3565            ? (e._timeout = setTimeout(() => {
3566                "out" === e._hoverState && e.hide();
3567              }, e._config.delay.hide))
3568            : e.hide());
3569    }
3570    _isWithActiveTrigger() {
3571      for (const t in this._activeTrigger)
3572        if (this._activeTrigger[t]) return !0;
3573      return !1;
3574    }
3575    _getConfig(t) {
3576      const e = U.getDataAttributes(this._element);
3577      return (
3578        Object.keys(e).forEach((t) => {
3579          We.has(t) && delete e[t];
3580        }),
3581        ((t = {
3582          ...this.constructor.Default,
3583          ...e,
3584          ...("object" == typeof t && t ? t : {}),
3585        }).container = !1 === t.container ? document.body : a(t.container)),
3586        "number" == typeof t.delay &&
3587          (t.delay = { show: t.delay, hide: t.delay }),
3588        "number" == typeof t.title && (t.title = t.title.toString()),
3589        "number" == typeof t.content && (t.content = t.content.toString()),
3590        l("tooltip", t, this.constructor.DefaultType),
3591        t.sanitize && (t.template = Re(t.template, t.allowList, t.sanitizeFn)),
3592        t
3593      );
3594    }
3595    _getDelegateConfig() {
3596      const t = {};
3597      if (this._config)
3598        for (const e in this._config)
3599          this.constructor.Default[e] !== this._config[e] &&
3600            (t[e] = this._config[e]);
3601      return t;
3602    }
3603    _cleanTipClass() {
3604      const t = this.getTipElement(),
3605        e = t.getAttribute("class").match(Be);
3606      null !== e &&
3607        e.length > 0 &&
3608        e.map((t) => t.trim()).forEach((e) => t.classList.remove(e));
3609    }
3610    _handlePopperPlacementChange(t) {
3611      const { state: e } = t;
3612      e &&
3613        ((this.tip = e.elements.popper),
3614        this._cleanTipClass(),
3615        this._addAttachmentClass(this._getAttachment(e.placement)));
3616    }
3617    static jQueryInterface(t) {
3618      return this.each(function () {
3619        const e = Fe.getOrCreateInstance(this, t);
3620        if ("string" == typeof t) {
3621          if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
3622          e[t]();
3623        }
3624      });
3625    }
3626  }
3627  _(Fe);
3628  const Ve = new RegExp("(^|\\s)bs-popover\\S+", "g"),
3629    Ke = {
3630      ...Fe.Default,
3631      placement: "right",
3632      offset: [0, 8],
3633      trigger: "click",
3634      content: "",
3635      template:
3636        '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',
3637    },
3638    Xe = { ...Fe.DefaultType, content: "(string|element|function)" },
3639    Ye = {
3640      HIDE: "hide.bs.popover",
3641      HIDDEN: "hidden.bs.popover",
3642      SHOW: "show.bs.popover",
3643      SHOWN: "shown.bs.popover",
3644      INSERTED: "inserted.bs.popover",
3645      CLICK: "click.bs.popover",
3646      FOCUSIN: "focusin.bs.popover",
3647      FOCUSOUT: "focusout.bs.popover",
3648      MOUSEENTER: "mouseenter.bs.popover",
3649      MOUSELEAVE: "mouseleave.bs.popover",
3650    };
3651  class Qe extends Fe {
3652    static get Default() {
3653      return Ke;
3654    }
3655    static get NAME() {
3656      return "popover";
3657    }
3658    static get Event() {
3659      return Ye;
3660    }
3661    static get DefaultType() {
3662      return Xe;
3663    }
3664    isWithContent() {
3665      return this.getTitle() || this._getContent();
3666    }
3667    getTipElement() {
3668      return (
3669        this.tip ||
3670          ((this.tip = super.getTipElement()),
3671          this.getTitle() || t.findOne(".popover-header", this.tip).remove(),
3672          this._getContent() || t.findOne(".popover-body", this.tip).remove()),
3673        this.tip
3674      );
3675    }
3676    setContent() {
3677      const e = this.getTipElement();
3678      this.setElementContent(t.findOne(".popover-header", e), this.getTitle());
3679      let i = this._getContent();
3680      "function" == typeof i && (i = i.call(this._element)),
3681        this.setElementContent(t.findOne(".popover-body", e), i),
3682        e.classList.remove("fade", "show");
3683    }
3684    _addAttachmentClass(t) {
3685      this.getTipElement().classList.add(
3686        "bs-popover-" + this.updateAttachment(t)
3687      );
3688    }
3689    _getContent() {
3690      return (
3691        this._element.getAttribute("data-bs-content") || this._config.content
3692      );
3693    }
3694    _cleanTipClass() {
3695      const t = this.getTipElement(),
3696        e = t.getAttribute("class").match(Ve);
3697      null !== e &&
3698        e.length > 0 &&
3699        e.map((t) => t.trim()).forEach((e) => t.classList.remove(e));
3700    }
3701    static jQueryInterface(t) {
3702      return this.each(function () {
3703        const e = Qe.getOrCreateInstance(this, t);
3704        if ("string" == typeof t) {
3705          if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
3706          e[t]();
3707        }
3708      });
3709    }
3710  }
3711  _(Qe);
3712  const Ge = { offset: 10, method: "auto", target: "" },
3713    Ze = { offset: "number", method: "string", target: "(string|element)" };
3714  class Je extends B {
3715    constructor(t, e) {
3716      super(t),
3717        (this._scrollElement =
3718          "BODY" === this._element.tagName ? window : this._element),
3719        (this._config = this._getConfig(e)),
3720        (this._selector = `${this._config.target} .nav-link, ${this._config.target} .list-group-item, ${this._config.target} .dropdown-item`),
3721        (this._offsets = []),
3722        (this._targets = []),
3723        (this._activeTarget = null),
3724        (this._scrollHeight = 0),
3725        P.on(this._scrollElement, "scroll.bs.scrollspy", () => this._process()),
3726        this.refresh(),
3727        this._process();
3728    }
3729    static get Default() {
3730      return Ge;
3731    }
3732    static get NAME() {
3733      return "scrollspy";
3734    }
3735    refresh() {
3736      const e =
3737          this._scrollElement === this._scrollElement.window
3738            ? "offset"
3739            : "position",
3740        i = "auto" === this._config.method ? e : this._config.method,
3741        s = "position" === i ? this._getScrollTop() : 0;
3742      (this._offsets = []),
3743        (this._targets = []),
3744        (this._scrollHeight = this._getScrollHeight()),
3745        t
3746          .find(this._selector)
3747          .map((e) => {
3748            const o = n(e),
3749              r = o ? t.findOne(o) : null;
3750            if (r) {
3751              const t = r.getBoundingClientRect();
3752              if (t.width || t.height) return [U[i](r).top + s, o];
3753            }
3754            return null;
3755          })
3756          .filter((t) => t)
3757          .sort((t, e) => t[0] - e[0])
3758          .forEach((t) => {
3759            this._offsets.push(t[0]), this._targets.push(t[1]);
3760          });
3761    }
3762    dispose() {
3763      P.off(this._scrollElement, ".bs.scrollspy"), super.dispose();
3764    }
3765    _getConfig(t) {
3766      if (
3767        "string" !=
3768          typeof (t = {
3769            ...Ge,
3770            ...U.getDataAttributes(this._element),
3771            ...("object" == typeof t && t ? t : {}),
3772          }).target &&
3773        r(t.target)
3774      ) {
3775        let { id: i } = t.target;
3776        i || ((i = e("scrollspy")), (t.target.id = i)), (t.target = "#" + i);
3777      }
3778      return l("scrollspy", t, Ze), t;
3779    }
3780    _getScrollTop() {
3781      return this._scrollElement === window
3782        ? this._scrollElement.pageYOffset
3783        : this._scrollElement.scrollTop;
3784    }
3785    _getScrollHeight() {
3786      return (
3787        this._scrollElement.scrollHeight ||
3788        Math.max(
3789          document.body.scrollHeight,
3790          document.documentElement.scrollHeight
3791        )
3792      );
3793    }
3794    _getOffsetHeight() {
3795      return this._scrollElement === window
3796        ? window.innerHeight
3797        : this._scrollElement.getBoundingClientRect().height;
3798    }
3799    _process() {
3800      const t = this._getScrollTop() + this._config.offset,
3801        e = this._getScrollHeight(),
3802        i = this._config.offset + e - this._getOffsetHeight();
3803      if ((this._scrollHeight !== e && this.refresh(), t >= i)) {
3804        const t = this._targets[this._targets.length - 1];
3805        this._activeTarget !== t && this._activate(t);
3806      } else {
3807        if (this._activeTarget && t < this._offsets[0] && this._offsets[0] > 0)
3808          return (this._activeTarget = null), void this._clear();
3809        for (let e = this._offsets.length; e--; )
3810          this._activeTarget !== this._targets[e] &&
3811            t >= this._offsets[e] &&
3812            (void 0 === this._offsets[e + 1] || t < this._offsets[e + 1]) &&
3813            this._activate(this._targets[e]);
3814      }
3815    }
3816    _activate(e) {
3817      (this._activeTarget = e), this._clear();
3818      const i = this._selector
3819          .split(",")
3820          .map((t) => `${t}[data-bs-target="${e}"],${t}[href="${e}"]`),
3821        n = t.findOne(i.join(","));
3822      n.classList.contains("dropdown-item")
3823        ? (t
3824            .findOne(".dropdown-toggle", n.closest(".dropdown"))
3825            .classList.add("active"),
3826          n.classList.add("active"))
3827        : (n.classList.add("active"),
3828          t.parents(n, ".nav, .list-group").forEach((e) => {
3829            t
3830              .prev(e, ".nav-link, .list-group-item")
3831              .forEach((t) => t.classList.add("active")),
3832              t.prev(e, ".nav-item").forEach((e) => {
3833                t.children(e, ".nav-link").forEach((t) =>
3834                  t.classList.add("active")
3835                );
3836              });
3837          })),
3838        P.trigger(this._scrollElement, "activate.bs.scrollspy", {
3839          relatedTarget: e,
3840        });
3841    }
3842    _clear() {
3843      t.find(this._selector)
3844        .filter((t) => t.classList.contains("active"))
3845        .forEach((t) => t.classList.remove("active"));
3846    }
3847    static jQueryInterface(t) {
3848      return this.each(function () {
3849        const e = Je.getOrCreateInstance(this, t);
3850        if ("string" == typeof t) {
3851          if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
3852          e[t]();
3853        }
3854      });
3855    }
3856  }
3857  P.on(window, "load.bs.scrollspy.data-api", () => {
3858    t.find('[data-bs-spy="scroll"]').forEach((t) => new Je(t));
3859  }),
3860    _(Je);
3861  class ti extends B {
3862    static get NAME() {
3863      return "tab";
3864    }
3865    show() {
3866      if (
3867        this._element.parentNode &&
3868        this._element.parentNode.nodeType === Node.ELEMENT_NODE &&
3869        this._element.classList.contains("active")
3870      )
3871        return;
3872      let e;
3873      const i = s(this._element),
3874        n = this._element.closest(".nav, .list-group");
3875      if (n) {
3876        const i =
3877          "UL" === n.nodeName || "OL" === n.nodeName
3878            ? ":scope > li > .active"
3879            : ".active";
3880        (e = t.find(i, n)), (e = e[e.length - 1]);
3881      }
3882      const o = e
3883        ? P.trigger(e, "hide.bs.tab", { relatedTarget: this._element })
3884        : null;
3885      if (
3886        P.trigger(this._element, "show.bs.tab", { relatedTarget: e })
3887          .defaultPrevented ||
3888        (null !== o && o.defaultPrevented)
3889      )
3890        return;
3891      this._activate(this._element, n);
3892      const r = () => {
3893        P.trigger(e, "hidden.bs.tab", { relatedTarget: this._element }),
3894          P.trigger(this._element, "shown.bs.tab", { relatedTarget: e });
3895      };
3896      i ? this._activate(i, i.parentNode, r) : r();
3897    }
3898    _activate(e, i, n) {
3899      const s = (
3900          !i || ("UL" !== i.nodeName && "OL" !== i.nodeName)
3901            ? t.children(i, ".active")
3902            : t.find(":scope > li > .active", i)
3903        )[0],
3904        o = n && s && s.classList.contains("fade"),
3905        r = () => this._transitionComplete(e, s, n);
3906      s && o
3907        ? (s.classList.remove("show"), this._queueCallback(r, e, !0))
3908        : r();
3909    }
3910    _transitionComplete(e, i, n) {
3911      if (i) {
3912        i.classList.remove("active");
3913        const e = t.findOne(":scope > .dropdown-menu .active", i.parentNode);
3914        e && e.classList.remove("active"),
3915          "tab" === i.getAttribute("role") &&
3916            i.setAttribute("aria-selected", !1);
3917      }
3918      e.classList.add("active"),
3919        "tab" === e.getAttribute("role") && e.setAttribute("aria-selected", !0),
3920        f(e),
3921        e.classList.contains("fade") && e.classList.add("show");
3922      let s = e.parentNode;
3923      if (
3924        (s && "LI" === s.nodeName && (s = s.parentNode),
3925        s && s.classList.contains("dropdown-menu"))
3926      ) {
3927        const i = e.closest(".dropdown");
3928        i &&
3929          t
3930            .find(".dropdown-toggle", i)
3931            .forEach((t) => t.classList.add("active")),
3932          e.setAttribute("aria-expanded", !0);
3933      }
3934      n && n();
3935    }
3936    static jQueryInterface(t) {
3937      return this.each(function () {
3938        const e = ti.getOrCreateInstance(this);
3939        if ("string" == typeof t) {
3940          if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
3941          e[t]();
3942        }
3943      });
3944    }
3945  }
3946  P.on(
3947    document,
3948    "click.bs.tab.data-api",
3949    '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',
3950    function (t) {
3951      ["A", "AREA"].includes(this.tagName) && t.preventDefault(),
3952        h(this) || ti.getOrCreateInstance(this).show();
3953    }
3954  ),
3955    _(ti);
3956  const ei = { animation: "boolean", autohide: "boolean", delay: "number" },
3957    ii = { animation: !0, autohide: !0, delay: 5e3 };
3958  class ni extends B {
3959    constructor(t, e) {
3960      super(t),
3961        (this._config = this._getConfig(e)),
3962        (this._timeout = null),
3963        (this._hasMouseInteraction = !1),
3964        (this._hasKeyboardInteraction = !1),
3965        this._setListeners();
3966    }
3967    static get DefaultType() {
3968      return ei;
3969    }
3970    static get Default() {
3971      return ii;
3972    }
3973    static get NAME() {
3974      return "toast";
3975    }
3976    show() {
3977      P.trigger(this._element, "show.bs.toast").defaultPrevented ||
3978        (this._clearTimeout(),
3979        this._config.animation && this._element.classList.add("fade"),
3980        this._element.classList.remove("hide"),
3981        f(this._element),
3982        this._element.classList.add("showing"),
3983        this._queueCallback(
3984          () => {
3985            this._element.classList.remove("showing"),
3986              this._element.classList.add("show"),
3987              P.trigger(this._element, "shown.bs.toast"),
3988              this._maybeScheduleHide();
3989          },
3990          this._element,
3991          this._config.animation
3992        ));
3993    }
3994    hide() {
3995      this._element.classList.contains("show") &&
3996        (P.trigger(this._element, "hide.bs.toast").defaultPrevented ||
3997          (this._element.classList.remove("show"),
3998          this._queueCallback(
3999            () => {
4000              this._element.classList.add("hide"),
4001                P.trigger(this._element, "hidden.bs.toast");
4002            },
4003            this._element,
4004            this._config.animation
4005          )));
4006    }
4007    dispose() {
4008      this._clearTimeout(),
4009        this._element.classList.contains("show") &&
4010          this._element.classList.remove("show"),
4011        super.dispose();
4012    }
4013    _getConfig(t) {
4014      return (
4015        (t = {
4016          ...ii,
4017          ...U.getDataAttributes(this._element),
4018          ...("object" == typeof t && t ? t : {}),
4019        }),
4020        l("toast", t, this.constructor.DefaultType),
4021        t
4022      );
4023    }
4024    _maybeScheduleHide() {
4025      this._config.autohide &&
4026        (this._hasMouseInteraction ||
4027          this._hasKeyboardInteraction ||
4028          (this._timeout = setTimeout(() => {
4029            this.hide();
4030          }, this._config.delay)));
4031    }
4032    _onInteraction(t, e) {
4033      switch (t.type) {
4034        case "mouseover":
4035        case "mouseout":
4036          this._hasMouseInteraction = e;
4037          break;
4038        case "focusin":
4039        case "focusout":
4040          this._hasKeyboardInteraction = e;
4041      }
4042      if (e) return void this._clearTimeout();
4043      const i = t.relatedTarget;
4044      this._element === i ||
4045        this._element.contains(i) ||
4046        this._maybeScheduleHide();
4047    }
4048    _setListeners() {
4049      P.on(
4050        this._element,
4051        "click.dismiss.bs.toast",
4052        '[data-bs-dismiss="toast"]',
4053        () => this.hide()
4054      ),
4055        P.on(this._element, "mouseover.bs.toast", (t) =>
4056          this._onInteraction(t, !0)
4057        ),
4058        P.on(this._element, "mouseout.bs.toast", (t) =>
4059          this._onInteraction(t, !1)
4060        ),
4061        P.on(this._element, "focusin.bs.toast", (t) =>
4062          this._onInteraction(t, !0)
4063        ),
4064        P.on(this._element, "focusout.bs.toast", (t) =>
4065          this._onInteraction(t, !1)
4066        );
4067    }
4068    _clearTimeout() {
4069      clearTimeout(this._timeout), (this._timeout = null);
4070    }
4071    static jQueryInterface(t) {
4072      return this.each(function () {
4073        const e = ni.getOrCreateInstance(this, t);
4074        if ("string" == typeof t) {
4075          if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
4076          e[t](this);
4077        }
4078      });
4079    }
4080  }
4081  return (
4082    _(ni),
4083    {
4084      Alert: W,
4085      Button: q,
4086      Carousel: Z,
4087      Collapse: et,
4088      Dropdown: Ae,
4089      Modal: De,
4090      Offcanvas: Ne,
4091      Popover: Qe,
4092      ScrollSpy: Je,
4093      Tab: ti,
4094      Toast: ni,
4095      Tooltip: Fe,
4096    }
4097  );
4098});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.