PageSourceSearch

https://drivocar.netlify.app/js/bootstrap.min.js

js drivocar.netlify.app collected 2026-10-03 10:40:05 UTC 94,485 bytes, 2,207 lines download raw bytes

vendor: 4,489 bytes, lines 1-99
1/*!
2 * Bootstrap v5.3.3 (https://getbootstrap.com/)
3 * Copyright 2011-2024 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 ? module.exports = e(require("@popperjs/core")) : "function" == typeof define && define.amd ? define(["@popperjs/core"], e) : (t = "undefined" != typeof globalThis ? globalThis : t || self).bootstrap = e(t.Popper)
8}(this, (function(t) {
9    "use strict";
10
11    function e(t) {
12        const e = Object.create(null, {
13            [Symbol.toStringTag]: {
14                value: "Module"
15            }
16        });
17        if (t)
18            for (const i in t)
19                if ("default" !== i) {
20                    const s = Object.getOwnPropertyDescriptor(t, i);
21                    Object.defineProperty(e, i, s.get ? s : {
22                        enumerable: !0,
23                        get: () => t[i]
24                    })
25                }
26        return e.default = t, Object.freeze(e)
27    }
28    const i = e(t),
29        s = new Map,
30        n = {
31            set(t, e, i) {
32                s.has(t) || s.set(t, new Map);
33                const n = s.get(t);
34                n.has(e) || 0 === n.size ? n.set(e, i) : console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)
35            },
36            get: (t, e) => s.has(t) && s.get(t).get(e) || null,
37            remove(t, e) {
38                if (!s.has(t)) return;
39                const i = s.get(t);
40                i.delete(e), 0 === i.size && s.delete(t)
41            }
42        },
43        o = "transitionend",
44        r = t => (t && window.CSS && window.CSS.escape && (t = t.replace(/#([^\s"#']+)/g, ((t, e) => `#${CSS.escape(e)}`))), t),
45        a = t => {
46            t.dispatchEvent(new Event(o))
47        },
48        l = t => !(!t || "object" != typeof t) && (void 0 !== t.jquery && (t = t[0]), void 0 !== t.nodeType),
49        c = t => l(t) ? t.jquery ? t[0] : t : "string" == typeof t && t.length > 0 ? document.querySelector(r(t)) : null,
50        h = t => {
51            if (!l(t) || 0 === t.getClientRects().length) return !1;
52            const e = "visible" === getComputedStyle(t).getPropertyValue("visibility"),
53                i = t.closest("details:not([open])");
54            if (!i) return e;
55            if (i !== t) {
56                const e = t.closest("summary");
57                if (e && e.parentNode !== i) return !1;
58                if (null === e) return !1
59            }
60            return e
61        },
62        d = t => !t || t.nodeType !== Node.ELEMENT_NODE || !!t.classList.contains("disabled") || (void 0 !== t.disabled ? t.disabled : t.hasAttribute("disabled") && "false" !== t.getAttribute("disabled")),
63        u = t => {
64            if (!document.documentElement.attachShadow) return null;
65            if ("function" == typeof t.getRootNode) {
66                const e = t.getRootNode();
67                return e instanceof ShadowRoot ? e : null
68            }
69            return t instanceof ShadowRoot ? t : t.parentNode ? u(t.parentNode) : null
70        },
71        _ = () => {},
72        g = t => {
73            t.offsetHeight
74        },
75        f = () => window.jQuery && !document.body.hasAttribute("data-bs-no-jquery") ? window.jQuery : null,
76        m = [],
77        p = () => "rtl" === document.documentElement.dir,
78        b = t => {
79            var e;
80            e = () => {
81                const e = f();
82                if (e) {
83                    const i = t.NAME,
84                        s = e.fn[i];
85                    e.fn[i] = t.jQueryInterface, e.fn[i].Constructor = t, e.fn[i].noConflict = () => (e.fn[i] = s, t.jQueryInterface)
86                }
87            }, "loading" === document.readyState ? (m.length || document.addEventListener("DOMContentLoaded", (() => {
88                for (const t of m) t()
89            })), m.push(e)) : e()
90        },
91        v = (t, e = [], i = t) => "function" == typeof t ? t(...e) : i,
92        y = (t, e, i = !0) => {
93            if (!i) return void v(t);
94            const s = (t => {
95                if (!t) return 0;
96                let {
97                    transitionDuration: e,
98                    transitionDelay: i
99                } = window.getComputedStyle(t);
vendor: 13,276 bytes, lines 100-430
100                const s = Number.parseFloat(e),
101                    n = Number.parseFloat(i);
102                return s || n ? (e = e.split(",")[0], i = i.split(",")[0], 1e3 * (Number.parseFloat(e) + Number.parseFloat(i))) : 0
103            })(e) + 5;
104            let n = !1;
105            const r = ({
106                target: i
107            }) => {
108                i === e && (n = !0, e.removeEventListener(o, r), v(t))
109            };
110            e.addEventListener(o, r), setTimeout((() => {
111                n || a(e)
112            }), s)
113        },
114        w = (t, e, i, s) => {
115            const n = t.length;
116            let o = t.indexOf(e);
117            return -1 === o ? !i && s ? t[n - 1] : t[0] : (o += i ? 1 : -1, s && (o = (o + n) % n), t[Math.max(0, Math.min(o, n - 1))])
118        },
119        A = /[^.]*(?=\..*)\.|.*/,
120        E = /\..*/,
121        C = /::\d+$/,
122        T = {};
123    let k = 1;
124    const $ = {
125            mouseenter: "mouseover",
126            mouseleave: "mouseout"
127        },
128        S = new Set(["click", "dblclick", "mouseup", "mousedown", "contextmenu", "mousewheel", "DOMMouseScroll", "mouseover", "mouseout", "mousemove", "selectstart", "selectend", "keydown", "keypress", "keyup", "orientationchange", "touchstart", "touchmove", "touchend", "touchcancel", "pointerdown", "pointermove", "pointerup", "pointerleave", "pointercancel", "gesturestart", "gesturechange", "gestureend", "focus", "blur", "change", "reset", "select", "submit", "focusin", "focusout", "load", "unload", "beforeunload", "resize", "move", "DOMContentLoaded", "readystatechange", "error", "abort", "scroll"]);
129
130    function L(t, e) {
131        return e && `${e}::${k++}` || t.uidEvent || k++
132    }
133
134    function O(t) {
135        const e = L(t);
136        return t.uidEvent = e, T[e] = T[e] || {}, T[e]
137    }
138
139    function I(t, e, i = null) {
140        return Object.values(t).find((t => t.callable === e && t.delegationSelector === i))
141    }
142
143    function D(t, e, i) {
144        const s = "string" == typeof e,
145            n = s ? i : e || i;
146        let o = M(t);
147        return S.has(o) || (o = t), [s, n, o]
148    }
149
150    function N(t, e, i, s, n) {
151        if ("string" != typeof e || !t) return;
152        let [o, r, a] = D(e, i, s);
153        if (e in $) {
154            const t = t => function(e) {
155                if (!e.relatedTarget || e.relatedTarget !== e.delegateTarget && !e.delegateTarget.contains(e.relatedTarget)) return t.call(this, e)
156            };
157            r = t(r)
158        }
159        const l = O(t),
160            c = l[a] || (l[a] = {}),
161            h = I(c, r, o ? i : null);
162        if (h) return void(h.oneOff = h.oneOff && n);
163        const d = L(r, e.replace(A, "")),
164            u = o ? function(t, e, i) {
165                return function s(n) {
166                    const o = t.querySelectorAll(e);
167                    for (let {
168                            target: r
169                        } = n; r && r !== this; r = r.parentNode)
170                        for (const a of o)
171                            if (a === r) return F(n, {
172                                delegateTarget: r
173                            }), s.oneOff && j.off(t, n.type, e, i), i.apply(r, [n])
174                }
175            }(t, i, r) : function(t, e) {
176                return function i(s) {
177                    return F(s, {
178                        delegateTarget: t
179                    }), i.oneOff && j.off(t, s.type, e), e.apply(t, [s])
180                }
181            }(t, r);
182        u.delegationSelector = o ? i : null, u.callable = r, u.oneOff = n, u.uidEvent = d, c[d] = u, t.addEventListener(a, u, o)
183    }
184
185    function P(t, e, i, s, n) {
186        const o = I(e[i], s, n);
187        o && (t.removeEventListener(i, o, Boolean(n)), delete e[i][o.uidEvent])
188    }
189
190    function x(t, e, i, s) {
191        const n = e[i] || {};
192        for (const [o, r] of Object.entries(n)) o.includes(s) && P(t, e, i, r.callable, r.delegationSelector)
193    }
194
195    function M(t) {
196        return t = t.replace(E, ""), $[t] || t
197    }
198    const j = {
199        on(t, e, i, s) {
200            N(t, e, i, s, !1)
201        },
202        one(t, e, i, s) {
203            N(t, e, i, s, !0)
204        },
205        off(t, e, i, s) {
206            if ("string" != typeof e || !t) return;
207            const [n, o, r] = D(e, i, s), a = r !== e, l = O(t), c = l[r] || {}, h = e.startsWith(".");
208            if (void 0 === o) {
209                if (h)
210                    for (const i of Object.keys(l)) x(t, l, i, e.slice(1));
211                for (const [i, s] of Object.entries(c)) {
212                    const n = i.replace(C, "");
213                    a && !e.includes(n) || P(t, l, r, s.callable, s.delegationSelector)
214                }
215            } else {
216                if (!Object.keys(c).length) return;
217                P(t, l, r, o, n ? i : null)
218            }
219        },
220        trigger(t, e, i) {
221            if ("string" != typeof e || !t) return null;
222            const s = f();
223            let n = null,
224                o = !0,
225                r = !0,
226                a = !1;
227            e !== M(e) && s && (n = s.Event(e, i), s(t).trigger(n), o = !n.isPropagationStopped(), r = !n.isImmediatePropagationStopped(), a = n.isDefaultPrevented());
228            const l = F(new Event(e, {
229                bubbles: o,
230                cancelable: !0
231            }), i);
232            return a && l.preventDefault(), r && t.dispatchEvent(l), l.defaultPrevented && n && n.preventDefault(), l
233        }
234    };
235
236    function F(t, e = {}) {
237        for (const [i, s] of Object.entries(e)) try {
238            t[i] = s
239        } catch (e) {
240            Object.defineProperty(t, i, {
241                configurable: !0,
242                get: () => s
243            })
244        }
245        return t
246    }
247
248    function z(t) {
249        if ("true" === t) return !0;
250        if ("false" === t) return !1;
251        if (t === Number(t).toString()) return Number(t);
252        if ("" === t || "null" === t) return null;
253        if ("string" != typeof t) return t;
254        try {
255            return JSON.parse(decodeURIComponent(t))
256        } catch (e) {
257            return t
258        }
259    }
260
261    function H(t) {
262        return t.replace(/[A-Z]/g, (t => `-${t.toLowerCase()}`))
263    }
264    const B = {
265        setDataAttribute(t, e, i) {
266            t.setAttribute(`data-bs-${H(e)}`, i)
267        },
268        removeDataAttribute(t, e) {
269            t.removeAttribute(`data-bs-${H(e)}`)
270        },
271        getDataAttributes(t) {
272            if (!t) return {};
273            const e = {},
274                i = Object.keys(t.dataset).filter((t => t.startsWith("bs") && !t.startsWith("bsConfig")));
275            for (const s of i) {
276                let i = s.replace(/^bs/, "");
277                i = i.charAt(0).toLowerCase() + i.slice(1, i.length), e[i] = z(t.dataset[s])
278            }
279            return e
280        },
281        getDataAttribute: (t, e) => z(t.getAttribute(`data-bs-${H(e)}`))
282    };
283    class q {
284        static get Default() {
285            return {}
286        }
287        static get DefaultType() {
288            return {}
289        }
290        static get NAME() {
291            throw new Error('You have to implement the static method "NAME", for each component!')
292        }
293        _getConfig(t) {
294            return t = this._mergeConfigObj(t), t = this._configAfterMerge(t), this._typeCheckConfig(t), t
295        }
296        _configAfterMerge(t) {
297            return t
298        }
299        _mergeConfigObj(t, e) {
300            const i = l(e) ? B.getDataAttribute(e, "config") : {};
301            return { ...this.constructor.Default,
302                ..."object" == typeof i ? i : {},
303                ...l(e) ? B.getDataAttributes(e) : {},
304                ..."object" == typeof t ? t : {}
305            }
306        }
307        _typeCheckConfig(t, e = this.constructor.DefaultType) {
308            for (const [s, n] of Object.entries(e)) {
309                const e = t[s],
310                    o = l(e) ? "element" : null == (i = e) ? `${i}` : Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();
311                if (!new RegExp(n).test(o)) throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${o}" but expected type "${n}".`)
312            }
313            var i
314        }
315    }
316    class W extends q {
317        constructor(t, e) {
318            super(), (t = c(t)) && (this._element = t, this._config = this._getConfig(e), n.set(this._element, this.constructor.DATA_KEY, this))
319        }
320        dispose() {
321            n.remove(this._element, this.constructor.DATA_KEY), j.off(this._element, this.constructor.EVENT_KEY);
322            for (const t of Object.getOwnPropertyNames(this)) this[t] = null
323        }
324        _queueCallback(t, e, i = !0) {
325            y(t, e, i)
326        }
327        _getConfig(t) {
328            return t = this._mergeConfigObj(t, this._element), t = this._configAfterMerge(t), this._typeCheckConfig(t), t
329        }
330        static getInstance(t) {
331            return n.get(c(t), this.DATA_KEY)
332        }
333        static getOrCreateInstance(t, e = {}) {
334            return this.getInstance(t) || new this(t, "object" == typeof e ? e : null)
335        }
336        static get VERSION() {
337            return "5.3.3"
338        }
339        static get DATA_KEY() {
340            return `bs.${this.NAME}`
341        }
342        static get EVENT_KEY() {
343            return `.${this.DATA_KEY}`
344        }
345        static eventName(t) {
346            return `${t}${this.EVENT_KEY}`
347        }
348    }
349    const R = t => {
350            let e = t.getAttribute("data-bs-target");
351            if (!e || "#" === e) {
352                let i = t.getAttribute("href");
353                if (!i || !i.includes("#") && !i.startsWith(".")) return null;
354                i.includes("#") && !i.startsWith("#") && (i = `#${i.split("#")[1]}`), e = i && "#" !== i ? i.trim() : null
355            }
356            return e ? e.split(",").map((t => r(t))).join(",") : null
357        },
358        K = {
359            find: (t, e = document.documentElement) => [].concat(...Element.prototype.querySelectorAll.call(e, t)),
360            findOne: (t, e = document.documentElement) => Element.prototype.querySelector.call(e, t),
361            children: (t, e) => [].concat(...t.children).filter((t => t.matches(e))),
362            parents(t, e) {
363                const i = [];
364                let s = t.parentNode.closest(e);
365                for (; s;) i.push(s), s = s.parentNode.closest(e);
366                return i
367            },
368            prev(t, e) {
369                let i = t.previousElementSibling;
370                for (; i;) {
371                    if (i.matches(e)) return [i];
372                    i = i.previousElementSibling
373                }
374                return []
375            },
376            next(t, e) {
377                let i = t.nextElementSibling;
378                for (; i;) {
379                    if (i.matches(e)) return [i];
380                    i = i.nextElementSibling
381                }
382                return []
383            },
384            focusableChildren(t) {
385                const e = ["a", "button", "input", "textarea", "select", "details", "[tabindex]", '[contenteditable="true"]'].map((t => `${t}:not([tabindex^="-"])`)).join(",");
386                return this.find(e, t).filter((t => !d(t) && h(t)))
387            },
388            getSelectorFromElement(t) {
389                const e = R(t);
390                return e && K.findOne(e) ? e : null
391            },
392            getElementFromSelector(t) {
393                const e = R(t);
394                return e ? K.findOne(e) : null
395            },
396            getMultipleElementsFromSelector(t) {
397                const e = R(t);
398                return e ? K.find(e) : []
399            }
400        },
401        V = (t, e = "hide") => {
402            const i = `click.dismiss${t.EVENT_KEY}`,
403                s = t.NAME;
404            j.on(document, i, `[data-bs-dismiss="${s}"]`, (function(i) {
405                if (["A", "AREA"].includes(this.tagName) && i.preventDefault(), d(this)) return;
406                const n = K.getElementFromSelector(this) || this.closest(`.${s}`);
407                t.getOrCreateInstance(n)[e]()
408            }))
409        },
410        Q = ".bs.alert",
411        X = `close${Q}`,
412        Y = `closed${Q}`;
413    class U extends W {
414        static get NAME() {
415            return "alert"
416        }
417        close() {
418            if (j.trigger(this._element, X).defaultPrevented) return;
419            this._element.classList.remove("show");
420            const t = this._element.classList.contains("fade");
421            this._queueCallback((() => this._destroyElement()), this._element, t)
422        }
423        _destroyElement() {
424            this._element.remove(), j.trigger(this._element, Y), this.dispose()
425        }
426        static jQueryInterface(t) {
427            return this.each((function() {
428                const e = U.getOrCreateInstance(this);
429                if ("string" == typeof t) {
430                    if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method n
430amed "${t}"`);
431                    e[t](this)
432                }
433            }))
434        }
435    }
436    V(U, "close"), b(U);
437    const G = '[data-bs-toggle="button"]';
438    class J extends W {
439        static get NAME() {
440            return "button"
441        }
442        toggle() {
443            this._element.setAttribute("aria-pressed", this._element.classList.toggle("active"))
444        }
445        static jQueryInterface(t) {
446            return this.each((function() {
447                const e = J.getOrCreateInstance(this);
448                "toggle" === t && e[t]()
449            }))
450        }
451    }
452    j.on(document, "click.bs.button.data-api", G, (t => {
453        t.preventDefault();
454        const e = t.target.closest(G);
455        J.getOrCreateInstance(e).toggle()
456    })), b(J);
457    const Z = ".bs.swipe",
458        tt = `touchstart${Z}`,
459        et = `touchmove${Z}`,
460        it = `touchend${Z}`,
461        st = `pointerdown${Z}`,
462        nt = `pointerup${Z}`,
463        ot = {
464            endCallback: null,
465            leftCallback: null,
466            rightCallback: null
467        },
468        rt = {
469            endCallback: "(function|null)",
470            leftCallback: "(function|null)",
471            rightCallback: "(function|null)"
472        };
473    class at extends q {
474        constructor(t, e) {
475            super(), this._element = t, t && at.isSupported() && (this._config = this._getConfig(e), this._deltaX = 0, this._supportPointerEvents = Boolean(window.PointerEvent), this._initEvents())
476        }
477        static get Default() {
478            return ot
479        }
480        static get DefaultType() {
481            return rt
482        }
483        static get NAME() {
484            return "swipe"
485        }
486        dispose() {
487            j.off(this._element, Z)
488        }
489        _start(t) {
490            this._supportPointerEvents ? this._eventIsPointerPenTouch(t) && (this._deltaX = t.clientX) : this._deltaX = t.touches[0].clientX
491        }
492        _end(t) {
493            this._eventIsPointerPenTouch(t) && (this._deltaX = t.clientX - this._deltaX), this._handleSwipe(), v(this._config.endCallback)
494        }
495        _move(t) {
496            this._deltaX = t.touches && t.touches.length > 1 ? 0 : t.touches[0].clientX - this._deltaX
497        }
498        _handleSwipe() {
499            const t = Math.abs(this._deltaX);
500            if (t <= 40) return;
501            const e = t / this._deltaX;
502            this._deltaX = 0, e && v(e > 0 ? this._config.rightCallback : this._config.leftCallback)
503        }
504        _initEvents() {
505            this._supportPointerEvents ? (j.on(this._element, st, (t => this._start(t))), j.on(this._element, nt, (t => this._end(t))), this._element.classList.add("pointer-event")) : (j.on(this._element, tt, (t => this._start(t))), j.on(this._element, et, (t => this._move(t))), j.on(this._element, it, (t => this._end(t))))
506        }
507        _eventIsPointerPenTouch(t) {
508            return this._supportPointerEvents && ("pen" === t.pointerType || "touch" === t.pointerType)
509        }
510        static isSupported() {
511            return "ontouchstart" in document.documentElement || navigator.maxTouchPoints > 0
512        }
513    }
514    const lt = ".bs.carousel",
515        ct = ".data-api",
516        ht = "next",
517        dt = "prev",
518        ut = "left",
519        _t = "right",
520        gt = `slide${lt}`,
521        ft = `slid${lt}`,
522        mt = `keydown${lt}`,
523        pt = `mouseenter${lt}`,
524        bt = `mouseleave${lt}`,
525        vt = `dragstart${lt}`,
526        yt = `load${lt}${ct}`,
527        wt = `click${lt}${ct}`,
528        At = "carousel",
529        Et = "active",
530        Ct = ".active",
531        Tt = ".carousel-item",
532        kt = Ct + Tt,
533        $t = {
534            ArrowLeft: _t,
535            ArrowRight: ut
536        },
537        St = {
538            interval: 5e3,
539            keyboard: !0,
540            pause: "hover",
541            ride: !1,
542            touch: !0,
543            wrap: !0
544        },
545        Lt = {
546            interval: "(number|boolean)",
547            keyboard: "boolean",
548            pause: "(string|boolean)",
549            ride: "(boolean|string)",
550            touch: "boolean",
551            wrap: "boolean"
552        };
553    class Ot extends W {
554        constructor(t, e) {
555            super(t, e), this._interval = null, this._activeElement = null, this._isSliding = !1, this.touchTimeout = null, this._swipeHelper = null, this._indicatorsElement = K.findOne(".carousel-indicators", this._element), this._addEventListeners(), this._config.ride === At && this.cycle()
556        }
557        static get Default() {
558            return St
559        }
560        static get DefaultType() {
561            return Lt
562        }
563        static get NAME() {
564            return "carousel"
565        }
566        next() {
567            this._slide(ht)
568        }
569        nextWhenVisible() {
570            !document.hidden && h(this._element) && this.next()
571        }
572        prev() {
573            this._slide(dt)
574        }
575        pause() {
576            this._isSliding && a(this._element), this._clearInterval()
577        }
578        cycle() {
579            this._clearInterval(), this._updateInterval(), this._interval = setInterval((() => this.nextWhenVisible()), this._config.interval)
580        }
581        _maybeEnableCycle() {
582            this._config.ride && (this._isSliding ? j.one(this._element, ft, (() => this.cycle())) : this.cycle())
583        }
584        to(t) {
585            const e = this._getItems();
vendor: 4,760 bytes, lines 586-680
586            if (t > e.length - 1 || t < 0) return;
587            if (this._isSliding) return void j.one(this._element, ft, (() => this.to(t)));
588            const i = this._getItemIndex(this._getActive());
589            if (i === t) return;
590            const s = t > i ? ht : dt;
591            this._slide(s, e[t])
592        }
593        dispose() {
594            this._swipeHelper && this._swipeHelper.dispose(), super.dispose()
595        }
596        _configAfterMerge(t) {
597            return t.defaultInterval = t.interval, t
598        }
599        _addEventListeners() {
600            this._config.keyboard && j.on(this._element, mt, (t => this._keydown(t))), "hover" === this._config.pause && (j.on(this._element, pt, (() => this.pause())), j.on(this._element, bt, (() => this._maybeEnableCycle()))), this._config.touch && at.isSupported() && this._addTouchEventListeners()
601        }
602        _addTouchEventListeners() {
603            for (const t of K.find(".carousel-item img", this._element)) j.on(t, vt, (t => t.preventDefault()));
604            const t = {
605                leftCallback: () => this._slide(this._directionToOrder(ut)),
606                rightCallback: () => this._slide(this._directionToOrder(_t)),
607                endCallback: () => {
608                    "hover" === this._config.pause && (this.pause(), this.touchTimeout && clearTimeout(this.touchTimeout), this.touchTimeout = setTimeout((() => this._maybeEnableCycle()), 500 + this._config.interval))
609                }
610            };
611            this._swipeHelper = new at(this._element, t)
612        }
613        _keydown(t) {
614            if (/input|textarea/i.test(t.target.tagName)) return;
615            const e = $t[t.key];
616            e && (t.preventDefault(), this._slide(this._directionToOrder(e)))
617        }
618        _getItemIndex(t) {
619            return this._getItems().indexOf(t)
620        }
621        _setActiveIndicatorElement(t) {
622            if (!this._indicatorsElement) return;
623            const e = K.findOne(Ct, this._indicatorsElement);
624            e.classList.remove(Et), e.removeAttribute("aria-current");
625            const i = K.findOne(`[data-bs-slide-to="${t}"]`, this._indicatorsElement);
626            i && (i.classList.add(Et), i.setAttribute("aria-current", "true"))
627        }
628        _updateInterval() {
629            const t = this._activeElement || this._getActive();
630            if (!t) return;
631            const e = Number.parseInt(t.getAttribute("data-bs-interval"), 10);
632            this._config.interval = e || this._config.defaultInterval
633        }
634        _slide(t, e = null) {
635            if (this._isSliding) return;
636            const i = this._getActive(),
637                s = t === ht,
638                n = e || w(this._getItems(), i, s, this._config.wrap);
639            if (n === i) return;
640            const o = this._getItemIndex(n),
641                r = e => j.trigger(this._element, e, {
642                    relatedTarget: n,
643                    direction: this._orderToDirection(t),
644                    from: this._getItemIndex(i),
645                    to: o
646                });
647            if (r(gt).defaultPrevented) return;
648            if (!i || !n) return;
649            const a = Boolean(this._interval);
650            this.pause(), this._isSliding = !0, this._setActiveIndicatorElement(o), this._activeElement = n;
651            const l = s ? "carousel-item-start" : "carousel-item-end",
652                c = s ? "carousel-item-next" : "carousel-item-prev";
653            n.classList.add(c), g(n), i.classList.add(l), n.classList.add(l), this._queueCallback((() => {
654                n.classList.remove(l, c), n.classList.add(Et), i.classList.remove(Et, c, l), this._isSliding = !1, r(ft)
655            }), i, this._isAnimated()), a && this.cycle()
656        }
657        _isAnimated() {
658            return this._element.classList.contains("slide")
659        }
660        _getActive() {
661            return K.findOne(kt, this._element)
662        }
663        _getItems() {
664            return K.find(Tt, this._element)
665        }
666        _clearInterval() {
667            this._interval && (clearInterval(this._interval), this._interval = null)
668        }
669        _directionToOrder(t) {
670            return p() ? t === ut ? dt : ht : t === ut ? ht : dt
671        }
672        _orderToDirection(t) {
673            return p() ? t === dt ? ut : _t : t === dt ? _t : ut
674        }
675        static jQueryInterface(t) {
676            return this.each((function() {
677                const e = Ot.getOrCreateInstance(this, t);
678                if ("number" != typeof t) {
679                    if ("string" == typeof t) {
680                        if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method n
680amed "${t}"`);
681                        e[t]()
682                    }
683                } else e.to(t)
684            }))
685        }
686    }
687    j.on(document, wt, "[data-bs-slide], [data-bs-slide-to]", (function(t) {
688        const e = K.getElementFromSelector(this);
689        if (!e || !e.classList.contains(At)) return;
690        t.preventDefault();
691        const i = Ot.getOrCreateInstance(e),
692            s = this.getAttribute("data-bs-slide-to");
693        return s ? (i.to(s), void i._maybeEnableCycle()) : "next" === B.getDataAttribute(this, "slide") ? (i.next(), void i._maybeEnableCycle()) : (i.prev(), void i._maybeEnableCycle())
694    })), j.on(window, yt, (() => {
695        const t = K.find('[data-bs-ride="carousel"]');
696        for (const e of t) Ot.getOrCreateInstance(e)
697    })), b(Ot);
698    const It = ".bs.collapse",
699        Dt = `show${It}`,
700        Nt = `shown${It}`,
701        Pt = `hide${It}`,
702        xt = `hidden${It}`,
703        Mt = `click${It}.data-api`,
704        jt = "show",
705        Ft = "collapse",
706        zt = "collapsing",
707        Ht = `:scope .${Ft} .${Ft}`,
708        Bt = '[data-bs-toggle="collapse"]',
709        qt = {
710            parent: null,
711            toggle: !0
712        },
713        Wt = {
714            parent: "(null|element)",
715            toggle: "boolean"
716        };
717    class Rt extends W {
718        constructor(t, e) {
719            super(t, e), this._isTransitioning = !1, this._triggerArray = [];
720            const i = K.find(Bt);
721            for (const t of i) {
722                const e = K.getSelectorFromElement(t),
723                    i = K.find(e).filter((t => t === this._element));
724                null !== e && i.length && this._triggerArray.push(t)
725            }
726            this._initializeChildren(), this._config.parent || this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()), this._config.toggle && this.toggle()
727        }
728        static get Default() {
729            return qt
730        }
731        static get DefaultType() {
732            return Wt
733        }
734        static get NAME() {
735            return "collapse"
736        }
737        toggle() {
738            this._isShown() ? this.hide() : this.show()
739        }
740        show() {
741            if (this._isTransitioning || this._isShown()) return;
742            let t = [];
743            if (this._config.parent && (t = this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t => t !== this._element)).map((t => Rt.getOrCreateInstance(t, {
744                    toggle: !1
745                })))), t.length && t[0]._isTransitioning) return;
746            if (j.trigger(this._element, Dt).defaultPrevented) return;
747            for (const e of t) e.hide();
748            const e = this._getDimension();
749            this._element.classList.remove(Ft), this._element.classList.add(zt), this._element.style[e] = 0, this._addAriaAndCollapsedClass(this._triggerArray, !0), this._isTransitioning = !0;
750            const i = `scroll${e[0].toUpperCase()+e.slice(1)}`;
751            this._queueCallback((() => {
752                this._isTransitioning = !1, this._element.classList.remove(zt), this._element.classList.add(Ft, jt), this._element.style[e] = "", j.trigger(this._element, Nt)
753            }), this._element, !0), this._element.style[e] = `${this._element[i]}px`
754        }
755        hide() {
756            if (this._isTransitioning || !this._isShown()) return;
757            if (j.trigger(this._element, Pt).defaultPrevented) return;
758            const t = this._getDimension();
759            this._element.style[t] = `${this._element.getBoundingClientRect()[t]}px`, g(this._element), this._element.classList.add(zt), this._element.classList.remove(Ft, jt);
760            for (const t of this._triggerArray) {
761                const e = K.getElementFromSelector(t);
762                e && !this._isShown(e) && this._addAriaAndCollapsedClass([t], !1)
763            }
764            this._isTransitioning = !0, this._element.style[t] = "", this._queueCallback((() => {
765                this._isTransitioning = !1, this._element.classList.remove(zt), this._element.classList.add(Ft), j.trigger(this._element, xt)
766            }), this._element, !0)
767        }
768        _isShown(t = this._element) {
769            return t.classList.contains(jt)
770        }
771        _configAfterMerge(t) {
772            return t.toggle = Boolean(t.toggle), t.parent = c(t.parent), t
773        }
774        _getDimension() {
775            return this._element.classList.contains("collapse-horizontal") ? "width" : "height"
776        }
777        _initializeChildren() {
778            if (!this._config.parent) return;
779            const t = this._getFirstLevelChildren(Bt);
780            for (const e of t) {
781                const t = K.getElementFromSelector(e);
782                t && this._addAriaAndCollapsedClass([e], this._isShown(t))
783            }
784        }
785        _getFirstLevelChildren(t) {
786            const e = K.find(Ht, this._config.parent);
787            return K.find(t, this._config.parent).filter((t => !e.includes(t)))
788        }
789        _addAriaAndCollapsedClass(t, e) {
790            if (t.length)
791                for (const i of t) i.classList.toggle("collapsed", !e), i.setAttribute("aria-expanded", e)
792        }
793        static jQueryInterface(t) {
794            const e = {};
795            return "string" == typeof t && /show|hide/.test(t) && (e.toggle = !1), this.each((function() {
796                const i = Rt.getOrCreateInstance(this, e);
797                if ("string" == typeof t) {
798                    if (void 0 === i[t]) throw new TypeError(`No method n
798amed "${t}"`);
799                    i[t]()
800                }
801            }))
802        }
803    }
804    j.on(document, Mt, Bt, (function(t) {
805        ("A" === t.target.tagName || t.delegateTarget && "A" === t.delegateTarget.tagName) && t.preventDefault();
806        for (const t of K.getMultipleElementsFromSelector(this)) Rt.getOrCreateInstance(t, {
807            toggle: !1
808        }).toggle()
809    })), b(Rt);
810    const Kt = "dropdown",
811        Vt = ".bs.dropdown",
812        Qt = ".data-api",
813        Xt = "ArrowUp",
814        Yt = "ArrowDown",
815        Ut = `hide${Vt}`,
816        Gt = `hidden${Vt}`,
817        Jt = `show${Vt}`,
818        Zt = `shown${Vt}`,
819        te = `click${Vt}${Qt}`,
820        ee = `keydown${Vt}${Qt}`,
821        ie = `keyup${Vt}${Qt}`,
822        se = "show",
823        ne = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',
824        oe = `${ne}.${se}`,
825        re = ".dropdown-menu",
826        ae = p() ? "top-end" : "top-start",
827        le = p() ? "top-start" : "top-end",
828        ce = p() ? "bottom-end" : "bottom-start",
829        he = p() ? "bottom-start" : "bottom-end",
830        de = p() ? "left-start" : "right-start",
831        ue = p() ? "right-start" : "left-start",
832        _e = {
833            autoClose: !0,
834            boundary: "clippingParents",
835            display: "dynamic",
836            offset: [0, 2],
837            popperConfig: null,
838            reference: "toggle"
839        },
840        ge = {
841            autoClose: "(boolean|string)",
842            boundary: "(string|element)",
843            display: "string",
844            offset: "(array|string|function)",
845            popperConfig: "(null|object|function)",
846            reference: "(string|element|object)"
847        };
848    class fe extends W {
849        constructor(t, e) {
850            super(t, e), this._popper = null, this._parent = this._element.parentNode, this._menu = K.next(this._element, re)[0] || K.prev(this._element, re)[0] || K.findOne(re, this._parent), this._inNavbar = this._detectNavbar()
851        }
852        static get Default() {
853            return _e
854        }
855        static get DefaultType() {
856            return ge
857        }
858        static get NAME() {
859            return Kt
860        }
861        toggle() {
862            return this._isShown() ? this.hide() : this.show()
863        }
864        show() {
865            if (d(this._element) || this._isShown()) return;
866            const t = {
867                relatedTarget: this._element
868            };
869            if (!j.trigger(this._element, Jt, t).defaultPrevented) {
870                if (this._createPopper(), "ontouchstart" in document.documentElement && !this._parent.closest(".
vendor: 2,798 bytes, lines 870-918
870navbar-nav"))
871                    for (const t of [].concat(...document.body.children)) j.on(t, "mouseover", _);
872                this._element.focus(), this._element.setAttribute("aria-expanded", !0), this._menu.classList.add(se), this._element.classList.add(se), j.trigger(this._element, Zt, t)
873            }
874        }
875        hide() {
876            if (d(this._element) || !this._isShown()) return;
877            const t = {
878                relatedTarget: this._element
879            };
880            this._completeHide(t)
881        }
882        dispose() {
883            this._popper && this._popper.destroy(), super.dispose()
884        }
885        update() {
886            this._inNavbar = this._detectNavbar(), this._popper && this._popper.update()
887        }
888        _completeHide(t) {
889            if (!j.trigger(this._element, Ut, t).defaultPrevented) {
890                if ("ontouchstart" in document.documentElement)
891                    for (const t of [].concat(...document.body.children)) j.off(t, "mouseover", _);
892                this._popper && this._popper.destroy(), this._menu.classList.remove(se), this._element.classList.remove(se), this._element.setAttribute("aria-expanded", "false"), B.removeDataAttribute(this._menu, "popper"), j.trigger(this._element, Gt, t)
893            }
894        }
895        _getConfig(t) {
896            if ("object" == typeof(t = super._getConfig(t)).reference && !l(t.reference) && "function" != typeof t.reference.getBoundingClientRect) throw new TypeError(`${Kt.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
897            return t
898        }
899        _createPopper() {
900            if (void 0 === i) throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");
901            let t = this._element;
902            "parent" === this._config.reference ? t = this._parent : l(this._config.reference) ? t = c(this._config.reference) : "object" == typeof this._config.reference && (t = this._config.reference);
903            const e = this._getPopperConfig();
904            this._popper = i.createPopper(t, this._menu, e)
905        }
906        _isShown() {
907            return this._menu.classList.contains(se)
908        }
909        _getPlacement() {
910            const t = this._parent;
911            if (t.classList.contains("dropend")) return de;
912            if (t.classList.contains("dropstart")) return ue;
913            if (t.classList.contains("dropup-center")) return "top";
914            if (t.classList.contains("dropdown-center")) return "bottom";
915            const e = "end" === getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();
916            return t.classList.contains("dropup") ? e ? le : ae : e ? he : ce
917        }
918        _detectNavbar() {
vendor: 6,474 bytes, lines 919-1081
919            return null !== this._element.closest(".navbar")
920        }
921        _getOffset() {
922            const {
923                offset: t
924            } = this._config;
925            return "string" == typeof t ? t.split(",").map((t => Number.parseInt(t, 10))) : "function" == typeof t ? e => t(e, this._element) : t
926        }
927        _getPopperConfig() {
928            const t = {
929                placement: this._getPlacement(),
930                modifiers: [{
931                    name: "preventOverflow",
932                    options: {
933                        boundary: this._config.boundary
934                    }
935                }, {
936                    name: "offset",
937                    options: {
938                        offset: this._getOffset()
939                    }
940                }]
941            };
942            return (this._inNavbar || "static" === this._config.display) && (B.setDataAttribute(this._menu, "popper", "static"), t.modifiers = [{
943                name: "applyStyles",
944                enabled: !1
945            }]), { ...t,
946                ...v(this._config.popperConfig, [t])
947            }
948        }
949        _selectMenuItem({
950            key: t,
951            target: e
952        }) {
953            const i = K.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)", this._menu).filter((t => h(t)));
954            i.length && w(i, e, t === Yt, !i.includes(e)).focus()
955        }
956        static jQueryInterface(t) {
957            return this.each((function() {
958                const e = fe.getOrCreateInstance(this, t);
959                if ("string" == typeof t) {
960                    if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
961                    e[t]()
962                }
963            }))
964        }
965        static clearMenus(t) {
966            if (2 === t.button || "keyup" === t.type && "Tab" !== t.key) return;
967            const e = K.find(oe);
968            for (const i of e) {
969                const e = fe.getInstance(i);
970                if (!e || !1 === e._config.autoClose) continue;
971                const s = t.composedPath(),
972                    n = s.includes(e._menu);
973                if (s.includes(e._element) || "inside" === e._config.autoClose && !n || "outside" === e._config.autoClose && n) continue;
974                if (e._menu.contains(t.target) && ("keyup" === t.type && "Tab" === t.key || /input|select|option|textarea|form/i.test(t.target.tagName))) continue;
975                const o = {
976                    relatedTarget: e._element
977                };
978                "click" === t.type && (o.clickEvent = t), e._completeHide(o)
979            }
980        }
981        static dataApiKeydownHandler(t) {
982            const e = /input|textarea/i.test(t.target.tagName),
983                i = "Escape" === t.key,
984                s = [Xt, Yt].includes(t.key);
985            if (!s && !i) return;
986            if (e && !i) return;
987            t.preventDefault();
988            const n = this.matches(ne) ? this : K.prev(this, ne)[0] || K.next(this, ne)[0] || K.findOne(ne, t.delegateTarget.parentNode),
989                o = fe.getOrCreateInstance(n);
990            if (s) return t.stopPropagation(), o.show(), void o._selectMenuItem(t);
991            o._isShown() && (t.stopPropagation(), o.hide(), n.focus())
992        }
993    }
994    j.on(document, ee, ne, fe.dataApiKeydownHandler), j.on(document, ee, re, fe.dataApiKeydownHandler), j.on(document, te, fe.clearMenus), j.on(document, ie, fe.clearMenus), j.on(document, te, ne, (function(t) {
995        t.preventDefault(), fe.getOrCreateInstance(this).toggle()
996    })), b(fe);
997    const me = "backdrop",
998        pe = "show",
999        be = `mousedown.bs.${me}`,
1000        ve = {
1001            className: "modal-backdrop",
1002            clickCallback: null,
1003            isAnimated: !1,
1004            isVisible: !0,
1005            rootElement: "body"
1006        },
1007        ye = {
1008            className: "string",
1009            clickCallback: "(function|null)",
1010            isAnimated: "boolean",
1011            isVisible: "boolean",
1012            rootElement: "(element|string)"
1013        };
1014    class we extends q {
1015        constructor(t) {
1016            super(), this._config = this._getConfig(t), this._isAppended = !1, this._element = null
1017        }
1018        static get Default() {
1019            return ve
1020        }
1021        static get DefaultType() {
1022            return ye
1023        }
1024        static get NAME() {
1025            return me
1026        }
1027        show(t) {
1028            if (!this._config.isVisible) return void v(t);
1029            this._append();
1030            const e = this._getElement();
1031            this._config.isAnimated && g(e), e.classList.add(pe), this._emulateAnimation((() => {
1032                v(t)
1033            }))
1034        }
1035        hide(t) {
1036            this._config.isVisible ? (this._getElement().classList.remove(pe), this._emulateAnimation((() => {
1037                this.dispose(), v(t)
1038            }))) : v(t)
1039        }
1040        dispose() {
1041            this._isAppended && (j.off(this._element, be), this._element.remove(), this._isAppended = !1)
1042        }
1043        _getElement() {
1044            if (!this._element) {
1045                const t = document.createElement("div");
1046                t.className = this._config.className, this._config.isAnimated && t.classList.add("fade"), this._element = t
1047            }
1048            return this._element
1049        }
1050        _configAfterMerge(t) {
1051            return t.rootElement = c(t.rootElement), t
1052        }
1053        _append() {
1054            if (this._isAppended) return;
1055            const t = this._getElement();
1056            this._config.rootElement.append(t), j.on(t, be, (() => {
1057                v(this._config.clickCallback)
1058            })), this._isAppended = !0
1059        }
1060        _emulateAnimation(t) {
1061            y(t, this._getElement(), this._config.isAnimated)
1062        }
1063    }
1064    const Ae = ".bs.focustrap",
1065        Ee = `focusin${Ae}`,
1066        Ce = `keydown.tab${Ae}`,
1067        Te = "backward",
1068        ke = {
1069            autofocus: !0,
1070            trapElement: null
1071        },
1072        $e = {
1073            autofocus: "boolean",
1074            trapElement: "element"
1075        };
1076    class Se extends q {
1077        constructor(t) {
1078            super(), this._config = this._getConfig(t), this._isActive = !1, this._lastTabNavDirection = null
1079        }
1080        static get Default() {
1081            return ke
vendor: 3,638 bytes, lines 1082-1169
1082        }
1083        static get DefaultType() {
1084            return $e
1085        }
1086        static get NAME() {
1087            return "focustrap"
1088        }
1089        activate() {
1090            this._isActive || (this._config.autofocus && this._config.trapElement.focus(), j.off(document, Ae), j.on(document, Ee, (t => this._handleFocusin(t))), j.on(document, Ce, (t => this._handleKeydown(t))), this._isActive = !0)
1091        }
1092        deactivate() {
1093            this._isActive && (this._isActive = !1, j.off(document, Ae))
1094        }
1095        _handleFocusin(t) {
1096            const {
1097                trapElement: e
1098            } = this._config;
1099            if (t.target === document || t.target === e || e.contains(t.target)) return;
1100            const i = K.focusableChildren(e);
1101            0 === i.length ? e.focus() : this._lastTabNavDirection === Te ? i[i.length - 1].focus() : i[0].focus()
1102        }
1103        _handleKeydown(t) {
1104            "Tab" === t.key && (this._lastTabNavDirection = t.shiftKey ? Te : "forward")
1105        }
1106    }
1107    const Le = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",
1108        Oe = ".sticky-top",
1109        Ie = "padding-right",
1110        De = "margin-right";
1111    class Ne {
1112        constructor() {
1113            this._element = document.body
1114        }
1115        getWidth() {
1116            const t = document.documentElement.clientWidth;
1117            return Math.abs(window.innerWidth - t)
1118        }
1119        hide() {
1120            const t = this.getWidth();
1121            this._disableOverFlow(), this._setElementAttributes(this._element, Ie, (e => e + t)), this._setElementAttributes(Le, Ie, (e => e + t)), this._setElementAttributes(Oe, De, (e => e - t))
1122        }
1123        reset() {
1124            this._resetElementAttributes(this._element, "overflow"), this._resetElementAttributes(this._element, Ie), this._resetElementAttributes(Le, Ie), this._resetElementAttributes(Oe, De)
1125        }
1126        isOverflowing() {
1127            return this.getWidth() > 0
1128        }
1129        _disableOverFlow() {
1130            this._saveInitialAttribute(this._element, "overflow"), this._element.style.overflow = "hidden"
1131        }
1132        _setElementAttributes(t, e, i) {
1133            const s = this.getWidth();
1134            this._applyManipulationCallback(t, (t => {
1135                if (t !== this._element && window.innerWidth > t.clientWidth + s) return;
1136                this._saveInitialAttribute(t, e);
1137                const n = window.getComputedStyle(t).getPropertyValue(e);
1138                t.style.setProperty(e, `${i(Number.parseFloat(n))}px`)
1139            }))
1140        }
1141        _saveInitialAttribute(t, e) {
1142            const i = t.style.getPropertyValue(e);
1143            i && B.setDataAttribute(t, e, i)
1144        }
1145        _resetElementAttributes(t, e) {
1146            this._applyManipulationCallback(t, (t => {
1147                const i = B.getDataAttribute(t, e);
1148                null !== i ? (B.removeDataAttribute(t, e), t.style.setProperty(e, i)) : t.style.removeProperty(e)
1149            }))
1150        }
1151        _applyManipulationCallback(t, e) {
1152            if (l(t)) e(t);
1153            else
1154                for (const i of K.find(t, this._element)) e(i)
1155        }
1156    }
1157    const Pe = ".bs.modal",
1158        xe = `hide${Pe}`,
1159        Me = `hidePrevented${Pe}`,
1160        je = `hidden${Pe}`,
1161        Fe = `show${Pe}`,
1162        ze = `shown${Pe}`,
1163        He = `resize${Pe}`,
1164        Be = `click.dismiss${Pe}`,
1165        qe = `mousedown.dismiss${Pe}`,
1166        We = `keydown.dismiss${Pe}`,
1167        Re = `click${Pe}.data-api`,
1168        Ke = "modal-open",
1169        Ve = "show",
vendor: 5,694 bytes, lines 1170-1280
1170        Qe = "modal-static",
1171        Xe = {
1172            backdrop: !0,
1173            focus: !0,
1174            keyboard: !0
1175        },
1176        Ye = {
1177            backdrop: "(boolean|string)",
1178            focus: "boolean",
1179            keyboard: "boolean"
1180        };
1181    class Ue extends W {
1182        constructor(t, e) {
1183            super(t, e), this._dialog = K.findOne(".modal-dialog", this._element), this._backdrop = this._initializeBackDrop(), this._focustrap = this._initializeFocusTrap(), this._isShown = !1, this._isTransitioning = !1, this._scrollBar = new Ne, this._addEventListeners()
1184        }
1185        static get Default() {
1186            return Xe
1187        }
1188        static get DefaultType() {
1189            return Ye
1190        }
1191        static get NAME() {
1192            return "modal"
1193        }
1194        toggle(t) {
1195            return this._isShown ? this.hide() : this.show(t)
1196        }
1197        show(t) {
1198            this._isShown || this._isTransitioning || j.trigger(this._element, Fe, {
1199                relatedTarget: t
1200            }).defaultPrevented || (this._isShown = !0, this._isTransitioning = !0, this._scrollBar.hide(), document.body.classList.add(Ke), this._adjustDialog(), this._backdrop.show((() => this._showElement(t))))
1201        }
1202        hide() {
1203            this._isShown && !this._isTransitioning && (j.trigger(this._element, xe).defaultPrevented || (this._isShown = !1, this._isTransitioning = !0, this._focustrap.deactivate(), this._element.classList.remove(Ve), this._queueCallback((() => this._hideModal()), this._element, this._isAnimated())))
1204        }
1205        dispose() {
1206            j.off(window, Pe), j.off(this._dialog, Pe), this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose()
1207        }
1208        handleUpdate() {
1209            this._adjustDialog()
1210        }
1211        _initializeBackDrop() {
1212            return new we({
1213                isVisible: Boolean(this._config.backdrop),
1214                isAnimated: this._isAnimated()
1215            })
1216        }
1217        _initializeFocusTrap() {
1218            return new Se({
1219                trapElement: this._element
1220            })
1221        }
1222        _showElement(t) {
1223            document.body.contains(this._element) || document.body.append(this._element), this._element.style.display = "block", this._element.removeAttribute("aria-hidden"), this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), this._element.scrollTop = 0;
1224            const e = K.findOne(".modal-body", this._dialog);
1225            e && (e.scrollTop = 0), g(this._element), this._element.classList.add(Ve), this._queueCallback((() => {
1226                this._config.focus && this._focustrap.activate(), this._isTransitioning = !1, j.trigger(this._element, ze, {
1227                    relatedTarget: t
1228                })
1229            }), this._dialog, this._isAnimated())
1230        }
1231        _addEventListeners() {
1232            j.on(this._element, We, (t => {
1233                "Escape" === t.key && (this._config.keyboard ? this.hide() : this._triggerBackdropTransition())
1234            })), j.on(window, He, (() => {
1235                this._isShown && !this._isTransitioning && this._adjustDialog()
1236            })), j.on(this._element, qe, (t => {
1237                j.one(this._element, Be, (e => {
1238                    this._element === t.target && this._element === e.target && ("static" !== this._config.backdrop ? this._config.backdrop && this.hide() : this._triggerBackdropTransition())
1239                }))
1240            }))
1241        }
1242        _hideModal() {
1243            this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._element.removeAttribute("aria-modal"), this._element.removeAttribute("role"), this._isTransitioning = !1, this._backdrop.hide((() => {
1244                document.body.classList.remove(Ke), this._resetAdjustments(), this._scrollBar.reset(), j.trigger(this._element, je)
1245            }))
1246        }
1247        _isAnimated() {
1248            return this._element.classList.contains("fade")
1249        }
1250        _triggerBackdropTransition() {
1251            if (j.trigger(this._element, Me).defaultPrevented) return;
1252            const t = this._element.scrollHeight > document.documentElement.clientHeight,
1253                e = this._element.style.overflowY;
1254            "hidden" === e || this._element.classList.contains(Qe) || (t || (this._element.style.overflowY = "hidden"), this._element.classList.add(Qe), this._queueCallback((() => {
1255                this._element.classList.remove(Qe), this._queueCallback((() => {
1256                    this._element.style.overflowY = e
1257                }), this._dialog)
1258            }), this._dialog), this._element.focus())
1259        }
1260        _adjustDialog() {
1261            const t = this._element.scrollHeight > document.documentElement.clientHeight,
1262                e = this._scrollBar.getWidth(),
1263                i = e > 0;
1264            if (i && !t) {
1265                const t = p() ? "paddingLeft" : "paddingRight";
1266                this._element.style[t] = `${e}px`
1267            }
1268            if (!i && t) {
1269                const t = p() ? "paddingRight" : "paddingLeft";
1270                this._element.style[t] = `${e}px`
1271            }
1272        }
1273        _resetAdjustments() {
1274            this._element.style.paddingLeft = "", this._element.style.paddingRight = ""
1275        }
1276        static jQueryInterface(t, e) {
1277            return this.each((function() {
1278                const i = Ue.getOrCreateInstance(this, t);
1279                if ("string" == typeof t) {
1280                    if (void 0 === i[t]) throw new TypeError(`No method n
1280amed "${t}"`);
1281                    i[t](e)
1282                }
1283            }))
1284        }
1285    }
1286    j.on(document, Re, '[data-bs-toggle="modal"]', (function(t) {
1287        const e = K.getElementFromSelector(this);
1288        ["A", "AREA"].includes(this.tagName) && t.preventDefault(), j.one(e, Fe, (t => {
1289            t.defaultPrevented || j.one(e, je, (() => {
1290                h(this) && this.focus()
1291            }))
1292        }));
1293        const i = K.findOne(".modal.show");
1294        i && Ue.getInstance(i).hide(), Ue.getOrCreateInstance(e).toggle(this)
1295    })), V(Ue), b(Ue);
1296    const Ge = ".bs.offcanvas",
1297        Je = ".data-api",
1298        Ze = `load${Ge}${Je}`,
1299        ti = "show",
1300        ei = "showing",
1301        ii = "hiding",
1302        si = ".offcanvas.show",
1303        ni = `show${Ge}`,
1304        oi = `shown${Ge}`,
1305        ri = `hide${Ge}`,
1306        ai = `hidePrevented${Ge}`,
1307        li = `hidden${Ge}`,
1308        ci = `resize${Ge}`,
1309        hi = `click${Ge}${Je}`,
1310        di = `keydown.dismiss${Ge}`,
1311        ui = {
1312            backdrop: !0,
1313            keyboard: !0,
1314            scroll: !1
1315        },
1316        _i = {
1317            backdrop: "(boolean|string)",
1318            keyboard: "boolean",
1319            scroll: "boolean"
1320        };
1321    class gi extends W {
1322        constructor(t, e) {
1323            super(t, e), this._isShown = !1, this._backdrop = this._initializeBackDrop(), this._focustrap = this._initializeFocusTrap(), this._addEventListeners()
1324        }
1325        static get Default() {
1326            return ui
1327        }
1328        static get DefaultType() {
1329            return _i
1330        }
1331        static get NAME() {
1332            return "offcanvas"
1333        }
1334        toggle(t) {
1335            return this._isShown ? this.hide() : this.show(t)
1336        }
1337        show(t) {
1338            this._isShown || j.trigger(this._element, ni, {
1339                relatedTarget: t
1340            }).defaultPrevented || (this._isShown = !0, this._backdrop.show(), this._config.scroll || (new Ne).hide(), this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), this._element.classList.add(ei), this._queueCallback((() => {
1341                this._config.scroll && !this._config.backdrop || this._focustrap.activate(), this._element.classList.add(ti), this._element.classList.remove(ei), j.trigger(this._element, oi, {
1342                    relatedTarget: t
1343                })
1344            }), this._element, !0))
1345        }
1346        hide() {
1347            this._isShown && (j.trigger(this._element, ri).defaultPrevented || (this._focustrap.deactivate(), this._element.blur(), this._isShown = !1, this._element.classList.add(ii), this._backdrop.hide(), this._queueCallback((() => {
1348                this._element.classList.remove(ti, ii), this._element.removeAttribute("aria-modal"), this._element.removeAttribute("role"), this._config.scroll || (new Ne).reset(), j.trigger(this._element, li)
1349            }), this._element, !0)))
1350        }
1351        dispose() {
1352            this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose()
1353        }
1354        _initializeBackDrop() {
1355            const t = Boolean(this._config.backdrop);
1356            return new we({
1357                className: "offcanvas-backdrop",
1358                isVisible: t,
1359                isAnimated: !0,
1360                rootElement: this._element.parentNode,
1361                clickCallback: t ? () => {
1362                    "static" !== this._config.backdrop ? this.hide() : j.trigger(this._element, ai)
1363                } : null
1364            })
1365        }
1366        _initializeFocusTrap() {
1367            return new Se({
1368                trapElement: this._element
1369            })
1370        }
1371        _addEventListeners() {
1372            j.on(this._element, di, (t => {
1373                "Escape" === t.key && (this._config.keyboard ? this.hide() : j.trigger(this._element, ai))
1374            }))
1375        }
1376        static jQueryInterface(t) {
1377            return this.each((function() {
1378                const e = gi.getOrCreateInstance(this, t);
1379                if ("string" == typeof t) {
1380                    if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method n
1380amed "${t}"`);
1381                    e[t](this)
1382                }
1383            }))
1384        }
1385    }
1386    j.on(document, hi, '[data-bs-toggle="offcanvas"]', (function(t) {
1387        const e = K.getElementFromSelector(this);
1388        if (["A", "AREA"].includes(this.tagName) && t.preventDefault(), d(this)) return;
1389        j.one(e, li, (() => {
1390            h(this) && this.focus()
1391        }));
1392        const i = K.findOne(si);
1393        i && i !== e && gi.getInstance(i).hide(), gi.getOrCreateInstance(e).toggle(this)
1394    })), j.on(window, Ze, (() => {
1395        for (const t of K.find(si)) gi.getOrCreateInstance(t).show()
1396    })), j.on(window, ci, (() => {
1397        for (const t of K.find("[aria-modal][class*=show][class*=offcanvas-]")) "fixed" !== getComputedStyle(t).position && gi.getOrCreateInstance(t).hide()
1398    })), V(gi), b(gi);
1399    const fi = {
1400            "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i],
1401            a: ["target", "href", "title", "rel"],
1402            area: [],
1403            b: [],
1404            br: [],
1405            col: [],
1406            code: [],
1407            dd: [],
1408            div: [],
1409            dl: [],
1410            dt: [],
1411            em: [],
1412            hr: [],
1413            h1: [],
1414            h2: [],
1415            h3: [],
1416            h4: [],
1417            h5: [],
1418            h6: [],
1419            i: [],
1420            img: ["src", "srcset", "alt", "title", "width", "height"],
1421            li: [],
1422            ol: [],
1423            p: [],
1424            pre: [],
1425            s: [],
1426            small: [],
1427            span: [],
1428            sub: [],
1429            sup: [],
1430            strong: [],
1431            u: [],
1432            ul: []
1433        },
1434        mi = new Set(["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"]),
1435        pi = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,
1436        bi = (t, e) => {
1437            const i = t.nodeName.toLowerCase();
1438            return e.includes(i) ? !mi.has(i) || Boolean(pi.test(t.nodeValue)) : e.filter((t => t instanceof RegExp)).some((t => t.test(i)))
1439        },
1440        vi = {
1441            allowList: fi,
1442            content: {},
1443            extraClass: "",
1444            html: !1,
1445            sanitize: !0,
1446            sanitizeFn: null,
1447            template: "<div></div>"
1448        },
1449        yi = {
1450            allowList: "object",
1451            content: "object",
1452            extraClass: "(string|function)",
1453            html: "boolean",
1454            sanitize: "boolean",
1455            sanitizeFn: "(null|function)",
1456            template: "string"
1457        },
1458        wi = {
1459            entry: "(string|element|function|null)",
1460            selector: "(string|element)"
1461        };
1462    class Ai extends q {
1463        constructor(t) {
1464            super(), this._config = this._getConfig(t)
1465        }
1466        static get Default() {
1467            return vi
1468        }
1469        static get DefaultType() {
1470            return yi
1471        }
1472        static get NAME() {
1473            return "TemplateFactory"
1474        }
1475        getContent() {
1476            return Object.values(this._config.content).map((t => this._resolvePossibleFunction(t))).filter(Boolean)
1477        }
1478        hasContent() {
1479            return this.getContent().length > 0
1480        }
1481        changeContent(t) {
1482            return this._checkContent(t), this._config.content = { ...this._config.content,
1483                ...t
1484            }, this
1485        }
1486        toHtml() {
1487            const t = document.createElement("div");
1488            t.innerHTML = this._maybeSanitize(this._config.template);
1489            for (const [e, i] of Object.entries(this._config.content)) this._setContent(t, i, e);
1490            const e = t.children[0],
1491                i = this._resolvePossibleFunction(this._config.extraClass);
1492            return i && e.classList.add(...i.split(" ")), e
1493        }
1494        _typeCheckConfig(t) {
1495            super._typeCheckConfig(t), this._checkContent(t.content)
1496        }
1497        _checkContent(t) {
1498            for (const [e, i] of Object.entries(t)) super._typeCheckConfig({
1499                selector: e,
1500                entry: i
1501            }, wi)
1502        }
1503        _setContent(t, e, i) {
1504            const s = K.findOne(i, t);
1505            s && ((e = this._resolvePossibleFunction(e)) ? l(e) ? this._putElementInTemplate(c(e), s) : this._config.html ? s.innerHTML = this._maybeSanitize(e) : s.textContent = e : s.remove())
1506        }
1507        _maybeSanitize(t) {
1508            return this._config.sanitize ? function(t, e, i) {
1509                if (!t.length) return t;
1510                if (i && "function" == typeof i) return i(t);
1511                const s = (new window.DOMParser).parseFromString(t, "text/html"),
1512                    n = [].concat(...s.body.querySelectorAll("*"));
1513                for (const t of n) {
1514                    const i = t.nodeName.toLowerCase();
1515                    if (!Object.keys(e).includes(i)) {
1516                        t.remove();
1517                        continue
1518                    }
1519                    const s = [].concat(...t.attributes),
1520                        n = [].concat(e["*"] || [], e[i] || []);
1521                    for (const e of s) bi(e, n) || t.removeAttribute(e.nodeName)
1522                }
1523                return s.body.innerHTML
1524            }(t, this._config.allowList, this._config.sanitizeFn) : t
1525        }
1526        _resolvePossibleFunction(t) {
1527            return v(t, [this])
1528        }
1529        _putElementInTemplate(t, e) {
1530            if (this._config.html) return e.innerHTML = "", void e.append(t);
1531            e.textContent = t.textContent
1532        }
1533    }
1534    const Ei = new Set(["sanitize", "allowList", "sanitizeFn"]),
1535        Ci = "fade",
1536        Ti = "show",
1537        ki = ".modal",
1538        $i = "hide.bs.modal",
1539        Si = "hover",
1540        Li = "focus",
1541        Oi = {
1542            AUTO: "auto",
1543            TOP: "top",
1544            RIGHT: p() ? "left" : "right",
1545            BOTTOM: "bottom",
1546            LEFT: p() ? "right" : "left"
1547        },
1548        Ii = {
1549            allowList: fi,
1550            animation: !0,
1551            boundary: "clippingParents",
1552            container: !1,
1553            customClass: "",
1554            delay: 0,
1555            fallbackPlacements: ["top", "right", "bottom", "left"],
1556            html: !1,
1557            offset: [0, 6],
1558            placement: "top",
1559            popperConfig: null,
1560            sanitize: !0,
1561            sanitizeFn: null,
1562            selector: !1,
1563            template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
1564            title: "",
1565            trigger: "hover focus"
1566        },
1567        Di = {
1568            allowList: "object",
1569            animation: "boolean",
1570            boundary: "(string|element)",
1571            container: "(string|element|boolean)",
1572            customClass: "(string|function)",
1573            delay: "(number|object)",
1574            fallbackPlacements: "array",
1575            html: "boolean",
1576            offset: "(array|string|function)",
1577            placement: "(string|function)",
1578            popperConfig: "(null|object|function)",
1579            sanitize: "boolean",
1580            sanitizeFn: "(null|function)",
1581            selector: "(string|boolean)",
1582            template: "string",
1583            title: "(string|element|function)",
1584            trigger: "string"
1585        };
1586    class Ni extends W {
1587        constructor(t, e) {
1588            if (void 0 === i) throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");
1589            super(t, e), this._isEnabled = !0, this._timeout = 0, this._isHovered = null, this._activeTrigger = {}, this._popper = null, this._templateFactory = null, this._newContent = null, this.tip = null, this._setListeners(), this._config.selector || this._fixTitle()
1590        }
1591        static get Default() {
1592            return Ii
1593        }
1594        static get DefaultType() {
1595            return Di
1596        }
1597        static get NAME() {
1598            return "tooltip"
1599        }
1600        enable() {
1601            this._isEnabled = !0
1602        }
1603        disable() {
1604            this._isEnabled = !1
1605        }
1606        toggleEnabled() {
1607            this._isEnabled = !this._isEnabled
1608        }
1609        toggle() {
1610            this._isEnabled && (this._activeTrigger.click = !this._activeTrigger.click, this._isShown() ? this._leave() : this._enter())
1611        }
1612        dispose() {
1613            clearTimeout(this._timeout), j.off(this._element.closest(ki), $i, this._hideModalHandler), this._element.getAttribute("data-bs-original-title") && this._element.setAttribute("title", this._element.getAttribute("data-bs-original-title")), this._disposePopper(), super.dispose()
1614        }
1615        show() {
1616            if ("none" === this._element.style.display) throw new Error("Please use show on visible elements");
1617            if (!this._isWithContent() || !this._isEnabled) return;
1618            const t = j.trigger(this._element, this.constructor.eventName("show")),
1619                e = (u(this._element) || this._element.ownerDocument.documentElement).contains(this._element);
1620            if (t.defaultPrevented || !e) return;
1621            this._disposePopper();
1622            const i = this._getTipElement();
1623            this._element.setAttribute("aria-describedby", i.getAttribute("id"));
1624            const {
1625                container: s
1626            } = this._config;
1627            if (this._element.ownerDocument.documentElement.contains(this.tip) || (s.append(i), j.trigger(this._element, this.constructor.eventName("inserted"))), this._popper = this._createPopper(i), i.classList.add(Ti), "ontouchstart" in document.documentElement)
1628                for (const t of [].concat(...document.body.children)) j.on(t, "mouseover", _);
1629            this._queueCallback((() => {
1630                j.trigger(this._element, this.constructor.eventName("shown")), !1 === this._isHovered && this._leave(), this._isHovered = !1
1631            }), this.tip, this._isAnimated())
1632        }
1633        hide() {
1634            if (this._isShown() && !j.trigger(this._element, this.constructor.eventName("hide")).defaultPrevented) {
1635                if (this._getTipElement().classList.remove(Ti), "ontouchstart" in document.documentElement)
1636                    for (const t of [].concat(...document.body.children)) j.off(t, "mouseover", _);
1637                this._activeTrigger.click = !1, this._activeTrigger[Li] = !1, this._activeTrigger[Si] = !1, this._isHovered = null, this._queueCallback((() => {
1638                    this._isWithActiveTrigger() || (this._isHovered || this._disposePopper(), this._element.removeAttribute("aria-describedby"), j.trigger(this._element, this.constructor.eventName("hidden")))
1639                }), this.tip, this._isAnimated())
1640            }
1641        }
1642        update() {
vendor: 7,613 bytes, lines 1643-1805
1643            this._popper && this._popper.update()
1644        }
1645        _isWithContent() {
1646            return Boolean(this._getTitle())
1647        }
1648        _getTipElement() {
1649            return this.tip || (this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())), this.tip
1650        }
1651        _createTipElement(t) {
1652            const e = this._getTemplateFactory(t).toHtml();
1653            if (!e) return null;
1654            e.classList.remove(Ci, Ti), e.classList.add(`bs-${this.constructor.NAME}-auto`);
1655            const i = (t => {
1656                do {
1657                    t += Math.floor(1e6 * Math.random())
1658                } while (document.getElementById(t));
1659                return t
1660            })(this.constructor.NAME).toString();
1661            return e.setAttribute("id", i), this._isAnimated() && e.classList.add(Ci), e
1662        }
1663        setContent(t) {
1664            this._newContent = t, this._isShown() && (this._disposePopper(), this.show())
1665        }
1666        _getTemplateFactory(t) {
1667            return this._templateFactory ? this._templateFactory.changeContent(t) : this._templateFactory = new Ai({ ...this._config,
1668                content: t,
1669                extraClass: this._resolvePossibleFunction(this._config.customClass)
1670            }), this._templateFactory
1671        }
1672        _getContentForTemplate() {
1673            return {
1674                ".tooltip-inner": this._getTitle()
1675            }
1676        }
1677        _getTitle() {
1678            return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute("data-bs-original-title")
1679        }
1680        _initializeOnDelegatedTarget(t) {
1681            return this.constructor.getOrCreateInstance(t.delegateTarget, this._getDelegateConfig())
1682        }
1683        _isAnimated() {
1684            return this._config.animation || this.tip && this.tip.classList.contains(Ci)
1685        }
1686        _isShown() {
1687            return this.tip && this.tip.classList.contains(Ti)
1688        }
1689        _createPopper(t) {
1690            const e = v(this._config.placement, [this, t, this._element]),
1691                s = Oi[e.toUpperCase()];
1692            return i.createPopper(this._element, t, this._getPopperConfig(s))
1693        }
1694        _getOffset() {
1695            const {
1696                offset: t
1697            } = this._config;
1698            return "string" == typeof t ? t.split(",").map((t => Number.parseInt(t, 10))) : "function" == typeof t ? e => t(e, this._element) : t
1699        }
1700        _resolvePossibleFunction(t) {
1701            return v(t, [this._element])
1702        }
1703        _getPopperConfig(t) {
1704            const e = {
1705                placement: t,
1706                modifiers: [{
1707                    name: "flip",
1708                    options: {
1709                        fallbackPlacements: this._config.fallbackPlacements
1710                    }
1711                }, {
1712                    name: "offset",
1713                    options: {
1714                        offset: this._getOffset()
1715                    }
1716                }, {
1717                    name: "preventOverflow",
1718                    options: {
1719                        boundary: this._config.boundary
1720                    }
1721                }, {
1722                    name: "arrow",
1723                    options: {
1724                        element: `.${this.constructor.NAME}-arrow`
1725                    }
1726                }, {
1727                    name: "preSetPlacement",
1728                    enabled: !0,
1729                    phase: "beforeMain",
1730                    fn: t => {
1731                        this._getTipElement().setAttribute("data-popper-placement", t.state.placement)
1732                    }
1733                }]
1734            };
1735            return { ...e,
1736                ...v(this._config.popperConfig, [e])
1737            }
1738        }
1739        _setListeners() {
1740            const t = this._config.trigger.split(" ");
1741            for (const e of t)
1742                if ("click" === e) j.on(this._element, this.constructor.eventName("click"), this._config.selector, (t => {
1743                    this._initializeOnDelegatedTarget(t).toggle()
1744                }));
1745                else if ("manual" !== e) {
1746                const t = e === Si ? this.constructor.eventName("mouseenter") : this.constructor.eventName("focusin"),
1747                    i = e === Si ? this.constructor.eventName("mouseleave") : this.constructor.eventName("focusout");
1748                j.on(this._element, t, this._config.selector, (t => {
1749                    const e = this._initializeOnDelegatedTarget(t);
1750                    e._activeTrigger["focusin" === t.type ? Li : Si] = !0, e._enter()
1751                })), j.on(this._element, i, this._config.selector, (t => {
1752                    const e = this._initializeOnDelegatedTarget(t);
1753                    e._activeTrigger["focusout" === t.type ? Li : Si] = e._element.contains(t.relatedTarget), e._leave()
1754                }))
1755            }
1756            this._hideModalHandler = () => {
1757                this._element && this.hide()
1758            }, j.on(this._element.closest(ki), $i, this._hideModalHandler)
1759        }
1760        _fixTitle() {
1761            const t = this._element.getAttribute("title");
1762            t && (this._element.getAttribute("aria-label") || this._element.textContent.trim() || this._element.setAttribute("aria-label", t), this._element.setAttribute("data-bs-original-title", t), this._element.removeAttribute("title"))
1763        }
1764        _enter() {
1765            this._isShown() || this._isHovered ? this._isHovered = !0 : (this._isHovered = !0, this._setTimeout((() => {
1766                this._isHovered && this.show()
1767            }), this._config.delay.show))
1768        }
1769        _leave() {
1770            this._isWithActiveTrigger() || (this._isHovered = !1, this._setTimeout((() => {
1771                this._isHovered || this.hide()
1772            }), this._config.delay.hide))
1773        }
1774        _setTimeout(t, e) {
1775            clearTimeout(this._timeout), this._timeout = setTimeout(t, e)
1776        }
1777        _isWithActiveTrigger() {
1778            return Object.values(this._activeTrigger).includes(!0)
1779        }
1780        _getConfig(t) {
1781            const e = B.getDataAttributes(this._element);
1782            for (const t of Object.keys(e)) Ei.has(t) && delete e[t];
1783            return t = { ...e,
1784                ..."object" == typeof t && t ? t : {}
1785            }, t = this._mergeConfigObj(t), t = this._configAfterMerge(t), this._typeCheckConfig(t), t
1786        }
1787        _configAfterMerge(t) {
1788            return t.container = !1 === t.container ? document.body : c(t.container), "number" == typeof t.delay && (t.delay = {
1789                show: t.delay,
1790                hide: t.delay
1791            }), "number" == typeof t.title && (t.title = t.title.toString()), "number" == typeof t.content && (t.content = t.content.toString()), t
1792        }
1793        _getDelegateConfig() {
1794            const t = {};
1795            for (const [e, i] of Object.entries(this._config)) this.constructor.Default[e] !== i && (t[e] = i);
1796            return t.selector = !1, t.trigger = "manual", t
1797        }
1798        _disposePopper() {
1799            this._popper && (this._popper.destroy(), this._popper = null), this.tip && (this.tip.remove(), this.tip = null)
1800        }
1801        static jQueryInterface(t) {
1802            return this.each((function() {
1803                const e = Ni.getOrCreateInstance(this, t);
1804                if ("string" == typeof t) {
1805                    if (void 0 === e[t]) throw new TypeError(`No method n
1805amed "${t}"`);
1806                    e[t]()
1807                }
1808            }))
1809        }
1810    }
1811    b(Ni);
1812    const Pi = { ...Ni.Default,
1813            content: "",
1814            offset: [0, 8],
1815            placement: "right",
1816            template: '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',
1817            trigger: "click"
1818        },
1819        xi = { ...Ni.DefaultType,
1820            content: "(null|string|element|function)"
1821        };
1822    class Mi extends Ni {
1823        static get Default() {
1824            return Pi
1825        }
1826        static get DefaultType() {
1827            return xi
1828        }
1829        static get NAME() {
1830            return "popover"
1831        }
1832        _isWithContent() {
1833            return this._getTitle() || this._getContent()
1834        }
1835        _getContentForTemplate() {
1836            return {
1837                ".popover-header": this._getTitle(),
1838                ".popover-body": this._getContent()
1839            }
1840        }
1841        _getContent() {
1842            return this._resolvePossibleFunction(this._config.content)
1843        }
1844        static jQueryInterface(t) {
1845            return this.each((function() {
1846                const e = Mi.getOrCreateInstance(this, t);
1847                if ("string" == typeof t) {
1848                    if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
1849                    e[t]()
1850                }
1851            }))
1852        }
1853    }
1854    b(Mi);
1855    const ji = ".bs.scrollspy",
1856        Fi = `activate${ji}`,
1857        zi = `click${ji}`,
1858        Hi = `load${ji}.data-api`,
1859        Bi = "active",
1860        qi = "[href]",
1861        Wi = ".nav-link",
1862        Ri = `${Wi}, .nav-item > ${Wi}, .list-group-item`,
1863        Ki = {
1864            offset: null,
1865            rootMargin: "0px 0px -25%",
1866            smoothScroll: !1,
1867            target: null,
1868            threshold: [.1, .5, 1]
1869        },
1870        Vi = {
1871            offset: "(number|null)",
1872            rootMargin: "string",
1873            smoothScroll: "boolean",
1874            target: "element",
1875            threshold: "array"
1876        };
1877    class Qi extends W {
1878        constructor(t, e) {
1879            super(t, e), this._targetLinks = new Map, this._observableSections = new Map, this._rootElement = "visible" === getComputedStyle(this._element).overflowY ? null : this._element, this._activeTarget = null, this._observer = null, this._previousScrollData = {
1880                visibleEntryTop: 0,
1881                parentScrollTop: 0
1882            }, this.refresh()
1883        }
1884        static get Default() {
1885            return Ki
1886        }
1887        static get DefaultType() {
1888            return Vi
1889        }
1890        static get NAME() {
1891            return "scrollspy"
1892        }
1893        refresh() {
1894            this._initializeTargetsAndObservables(), this._maybeEnableSmoothScroll(), this._observer ? this._observer.disconnect() : this._observer = this._getNewObserver();
1895            for (const t of this._observableSections.values()) this._observer.observe(t)
1896        }
1897        dispose() {
1898            this._observer.disconnect(), super.dispose()
1899        }
1900        _configAfterMerge(t) {
1901            return t.target = c(t.target) || document.body, t.rootMargin = t.offset ? `${t.offset}px 0px -30%` : t.rootMargin, "string" == typeof t.threshold && (t.threshold = t.threshold.split(",").map((t => Number.parseFloat(t)))), t
1902        }
1903        _maybeEnableSmoothScroll() {
1904            this._config.smoothScroll && (j.off(this._config.target, zi), j.on(this._config.target, zi, qi, (t => {
1905                const e = this._observableSections.get(t.target.hash);
1906                if (e) {
1907                    t.preventDefault();
1908                    const i = this._rootElement || window,
1909                        s = e.offsetTop - this._element.offsetTop;
1910                    if (i.scrollTo) return void i.scrollTo({
1911                        top: s,
1912                        behavior: "smooth"
1913                    });
1914                    i.scrollTop = s
1915                }
1916            })))
1917        }
1918        _getNewObserver() {
1919            const t = {
1920                root: this._rootElement,
1921                threshold: this._config.threshold,
1922                rootMargin: this._config.rootMargin
1923            };
1924            return new IntersectionObserver((t => this._observerCallback(t)), t)
1925        }
1926        _observerCallback(t) {
1927            const e = t => this._targetLinks.get(`#${t.target.id}`),
1928                i = t => {
1929                    this._previousScrollData.visibleEntryTop = t.target.offsetTop, this._process(e(t))
1930                },
1931                s = (this._rootElement || document.documentElement).scrollTop,
1932                n = s >= this._previousScrollData.parentScrollTop;
1933            this._previousScrollData.parentScrollTop = s;
1934            for (const o of t) {
1935                if (!o.isIntersecting) {
1936                    this._activeTarget = null, this._clearActiveClass(e(o));
1937                    continue
1938                }
1939                const t = o.target.offsetTop >= this._previousScrollData.visibleEntryTop;
1940                if (n && t) {
1941                    if (i(o), !s) return
1942                } else n || t || i(o)
1943            }
1944        }
1945        _initializeTargetsAndObservables() {
1946            this._targetLinks = new Map, this._observableSections = new Map;
1947            const t = K.find(qi, this._config.target);
1948            for (const e of t) {
1949                if (!e.hash || d(e)) continue;
1950                const t = K.findOne(decodeURI(e.hash), this._element);
1951                h(t) && (this._targetLinks.set(decodeURI(e.hash), e), this._observableSections.set(e.hash, t))
1952            }
1953        }
1954        _process(t) {
1955            this._activeTarget !== t && (this._clearActiveClass(this._config.target), this._activeTarget = t, t.classList.add(Bi), this._activateParents(t), j.trigger(this._element, Fi, {
1956                relatedTarget: t
1957            }))
1958        }
1959        _activateParents(t) {
1960            if (t.classList.contains("dropdown-item")) K.findOne(".dropdown-toggle", t.closest(".dropdown")).classList.add(Bi);
1961            else
1962                for (const e of K.parents(t, ".nav, .list-group"))
1963                    for (const t of K.prev(e, Ri)) t.classList.add(Bi)
1964        }
1965        _clearActiveClass(t) {
1966            t.classList.remove(Bi);
1967            const e = K.find(`${qi}.${Bi}`, t);
1968            for (const t of e) t.classList.remove(Bi)
1969        }
1970        static jQueryInterface(t) {
1971            return this.each((function() {
1972                const e = Qi.getOrCreateInstance(this, t);
1973                if ("string" == typeof t) {
1974                    if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method n
1974amed "${t}"`);
1975                    e[t]()
1976                }
1977            }))
1978        }
1979    }
1980    j.on(window, Hi, (() => {
1981        for (const t of K.find('[data-bs-spy="scroll"]')) Qi.getOrCreateInstance(t)
1982    })), b(Qi);
1983    const Xi = ".bs.tab",
1984        Yi = `hide${Xi}`,
1985        Ui = `hidden${Xi}`,
1986        Gi = `show${Xi}`,
1987        Ji = `shown${Xi}`,
1988        Zi = `click${Xi}`,
1989        ts = `keydown${Xi}`,
1990        es = `load${Xi}`,
1991        is = "ArrowLeft",
1992        ss = "ArrowRight",
1993        ns = "ArrowUp",
1994        os = "ArrowDown",
1995        rs = "Home",
1996        as = "End",
1997        ls = "active",
1998        cs = "fade",
1999        hs = "show",
2000        ds = ".dropdown-toggle",
2001        us = `:not(${ds})`,
2002        _s = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',
2003        gs = `.nav-link${us}, .list-group-item${us}, [role="tab"]${us}, ${_s}`,
2004        fs = `.${ls}[data-bs-toggle="tab"], .${ls}[data-bs-toggle="pill"], .${ls}[data-bs-toggle="list"]`;
2005    class ms extends W {
2006        constructor(t) {
2007            super(t), this._parent = this._element.closest('.list-group, .nav, [role="tablist"]'), this._parent && (this._setInitialAttributes(this._parent, this._getChildren()), j.on(this._element, ts, (t => this._keydown(t))))
2008        }
2009        static get NAME() {
2010            return "tab"
2011        }
2012        show() {
2013            const t = this._element;
2014            if (this._elemIsActive(t)) return;
2015            const e = this._getActiveElem(),
2016                i = e ? j.trigger(e, Yi, {
2017                    relatedTarget: t
2018                }) : null;
2019            j.trigger(t, Gi, {
2020                relatedTarget: e
2021            }).defaultPrevented || i && i.defaultPrevented || (this._deactivate(e, t), this._activate(t, e))
2022        }
2023        _activate(t, e) {
2024            t && (t.classList.add(ls), this._activate(K.getElementFromSelector(t)), this._queueCallback((() => {
2025                "tab" === t.getAttribute("role") ? (t.removeAttribute("tabindex"), t.setAttribute("aria-selected", !0), this._toggleDropDown(t, !0), j.trigger(t, Ji, {
2026                    relatedTarget: e
2027                })) : t.classList.add(hs)
2028            }), t, t.classList.contains(cs)))
2029        }
2030        _deactivate(t, e) {
2031            t && (t.classList.remove(ls), t.blur(), this._deactivate(K.getElementFromSelector(t)), this._queueCallback((() => {
2032                "tab" === t.getAttribute("role") ? (t.setAttribute("aria-selected", !1), t.setAttribute("tabindex", "-1"), this._toggleDropDown(t, !1), j.trigger(t, Ui, {
2033                    relatedTarget: e
2034                })) : t.classList.remove(hs)
2035            }), t, t.classList.contains(cs)))
2036        }
2037        _keydown(t) {
2038            if (![is, ss, ns, os, rs, as].includes(t.key)) return;
2039            t.stopPropagation(), t.preventDefault();
2040            const e = this._getChildren().filter((t => !d(t)));
2041            let i;
2042            if ([rs, as].includes(t.key)) i = e[t.key === rs ? 0 : e.length - 1];
2043            else {
2044                const s = [ss, os].includes(t.key);
2045                i = w(e, t.target, s, !0)
2046            }
2047            i && (i.focus({
2048                preventScroll: !0
2049            }), ms.getOrCreateInstance(i).show())
2050        }
2051        _getChildren() {
2052            return K.find(gs, this._parent)
2053        }
2054        _getActiveElem() {
2055            return this._getChildren().find((t => this._elemIsActive(t))) || null
2056        }
2057        _setInitialAttributes(t, e) {
2058            this._setAttributeIfNotExists(t, "role", "tablist");
2059            for (const t of e) this._setInitialAttributesOnChild(t)
2060        }
2061        _setInitialAttributesOnChild(t) {
2062            t = this._getInnerElement(t);
2063            const e = this._elemIsActive(t),
2064                i = this._getOuterElement(t);
2065            t.setAttribute("aria-selected", e), i !== t && this._setAttributeIfNotExists(i, "role", "presentation"), e || t.setAttribute("tabindex", "-1"), this._setAttributeIfNotExists(t, "role", "tab"), this._setInitialAttributesOnTargetPanel(t)
2066        }
2067        _setInitialAttributesOnTargetPanel(t) {
2068            const e = K.getElementFromSelector(t);
2069            e && (this._setAttributeIfNotExists(e, "role", "tabpanel"), t.id && this._setAttributeIfNotExists(e, "aria-labelledby", `${t.id}`))
2070        }
2071        _toggleDropDown(t, e) {
2072            const i = this._getOuterElement(t);
2073            if (!i.classList.contains("dropdown")) return;
2074            const s = (t, s) => {
2075                const n = K.findOne(t, i);
2076                n && n.classList.toggle(s, e)
2077            };
2078            s(ds, ls), s(".dropdown-menu", hs), i.setAttribute("aria-expanded", e)
2079        }
2080        _setAttributeIfNotExists(t, e, i) {
2081            t.hasAttribute(e) || t.setAttribute(e, i)
2082        }
2083        _elemIsActive(t) {
2084            return t.classList.contains(ls)
2085        }
2086        _getInnerElement(t) {
2087            return t.matches(gs) ? t : K.findOne(gs, t)
2088        }
2089        _getOuterElement(t) {
vendor: 4,203 bytes, lines 2090-2187
2090            return t.closest(".nav-item, .list-group-item") || t
2091        }
2092        static jQueryInterface(t) {
2093            return this.each((function() {
2094                const e = ms.getOrCreateInstance(this);
2095                if ("string" == typeof t) {
2096                    if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method named "${t}"`);
2097                    e[t]()
2098                }
2099            }))
2100        }
2101    }
2102    j.on(document, Zi, _s, (function(t) {
2103        ["A", "AREA"].includes(this.tagName) && t.preventDefault(), d(this) || ms.getOrCreateInstance(this).show()
2104    })), j.on(window, es, (() => {
2105        for (const t of K.find(fs)) ms.getOrCreateInstance(t)
2106    })), b(ms);
2107    const ps = ".bs.toast",
2108        bs = `mouseover${ps}`,
2109        vs = `mouseout${ps}`,
2110        ys = `focusin${ps}`,
2111        ws = `focusout${ps}`,
2112        As = `hide${ps}`,
2113        Es = `hidden${ps}`,
2114        Cs = `show${ps}`,
2115        Ts = `shown${ps}`,
2116        ks = "hide",
2117        $s = "show",
2118        Ss = "showing",
2119        Ls = {
2120            animation: "boolean",
2121            autohide: "boolean",
2122            delay: "number"
2123        },
2124        Os = {
2125            animation: !0,
2126            autohide: !0,
2127            delay: 5e3
2128        };
2129    class Is extends W {
2130        constructor(t, e) {
2131            super(t, e), this._timeout = null, this._hasMouseInteraction = !1, this._hasKeyboardInteraction = !1, this._setListeners()
2132        }
2133        static get Default() {
2134            return Os
2135        }
2136        static get DefaultType() {
2137            return Ls
2138        }
2139        static get NAME() {
2140            return "toast"
2141        }
2142        show() {
2143            j.trigger(this._element, Cs).defaultPrevented || (this._clearTimeout(), this._config.animation && this._element.classList.add("fade"), this._element.classList.remove(ks), g(this._element), this._element.classList.add($s, Ss), this._queueCallback((() => {
2144                this._element.classList.remove(Ss), j.trigger(this._element, Ts), this._maybeScheduleHide()
2145            }), this._element, this._config.animation))
2146        }
2147        hide() {
2148            this.isShown() && (j.trigger(this._element, As).defaultPrevented || (this._element.classList.add(Ss), this._queueCallback((() => {
2149                this._element.classList.add(ks), this._element.classList.remove(Ss, $s), j.trigger(this._element, Es)
2150            }), this._element, this._config.animation)))
2151        }
2152        dispose() {
2153            this._clearTimeout(), this.isShown() && this._element.classList.remove($s), super.dispose()
2154        }
2155        isShown() {
2156            return this._element.classList.contains($s)
2157        }
2158        _maybeScheduleHide() {
2159            this._config.autohide && (this._hasMouseInteraction || this._hasKeyboardInteraction || (this._timeout = setTimeout((() => {
2160                this.hide()
2161            }), this._config.delay)))
2162        }
2163        _onInteraction(t, e) {
2164            switch (t.type) {
2165                case "mouseover":
2166                case "mouseout":
2167                    this._hasMouseInteraction = e;
2168                    break;
2169                case "focusin":
2170                case "focusout":
2171                    this._hasKeyboardInteraction = e
2172            }
2173            if (e) return void this._clearTimeout();
2174            const i = t.relatedTarget;
2175            this._element === i || this._element.contains(i) || this._maybeScheduleHide()
2176        }
2177        _setListeners() {
2178            j.on(this._element, bs, (t => this._onInteraction(t, !0))), j.on(this._element, vs, (t => this._onInteraction(t, !1))), j.on(this._element, ys, (t => this._onInteraction(t, !0))), j.on(this._element, ws, (t => this._onInteraction(t, !1)))
2179        }
2180        _clearTimeout() {
2181            clearTimeout(this._timeout), this._timeout = null
2182        }
2183        static jQueryInterface(t) {
2184            return this.each((function() {
2185                const e = Is.getOrCreateInstance(this, t);
2186                if ("string" == typeof t) {
2187                    if (void 0 === e[t]) throw new TypeError(`No method n
2187amed "${t}"`);
2188                    e[t](this)
2189                }
2190            }))
2191        }
2192    }
2193    return V(Is), b(Is), {
2194        Alert: U,
2195        Button: J,
2196        Carousel: Ot,
2197        Collapse: Rt,
2198        Dropdown: fe,
2199        Modal: Ue,
2200        Offcanvas: gi,
2201        Popover: Mi,
2202        ScrollSpy: Qi,
2203        Tab: ms,
2204        Toast: Is,
2205        Tooltip: Ni
2206    }
2207}));

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.