1(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([ 2 [773], 3 { 4 638: function (e, t, r) { 5 "use strict"; 6 (Object.defineProperty(t, "__esModule", { value: !0 }), 7 (t.default = function (e, t) { 8 let r = l.default, 9 s = { 10 loading: (e) => { 11 let { error: t, isLoading: r, pastDelay: i } = e; 12 return null; 13 }, 14 }; 15 (e instanceof Promise 16 ? (s.loader = () => e) 17 : "function" == typeof e 18 ? (s.loader = e) 19 : "object" == typeof e && (s = i({}, s, e)), 20 (s = i({}, s, t))); 21 let o = s.loader, 22 d = () => 23 null != o ? o().then(a) : Promise.resolve(a(() => null)); 24 return (s.loadableGenerated && 25 delete (s = i({}, s, s.loadableGenerated)).loadableGenerated, 26 "boolean" != typeof s.ssr || s.ssr) 27 ? r(i({}, s, { loader: d })) 28 : (delete s.webpack, delete s.modules, n(r, s)); 29 }), 30 (t.noSSR = n)); 31 var i = r(6495).Z, 32 s = r(2648).Z, 33 l = (s(r(7294)), s(r(4302))); 34 function a(e) { 35 return { default: (null == e ? void 0 : e.default) || e }; 36 } 37 function n(e, t) { 38 return (delete t.webpack, delete t.modules, e(t)); 39 } 40 ("function" == typeof t.default || 41 ("object" == typeof t.default && null !== t.default)) && 42 void 0 === t.default.__esModule && 43 (Object.defineProperty(t.default, "__esModule", { value: !0 }), 44 Object.assign(t.default, t), 45 (e.exports = t.default)); 46 }, 47 6319: function (e, t, r) { 48 "use strict"; 49 (Object.defineProperty(t, "__esModule", { value: !0 }), 50 (t.LoadableContext = void 0)); 51 var i = (0, r(2648).Z)(r(7294)); 52 let s = i.default.createContext(null); 53 t.LoadableContext = s; 54 }, 55 4302: function (e, t, r) { 56 "use strict"; 57 (Object.defineProperty(t, "__esModule", { value: !0 }), 58 (t.default = void 0)); 59 var i = r(6495).Z, 60 s = (0, r(2648).Z)(r(7294)), 61 l = r(6319); 62 let a = [], 63 n = [], 64 o = !1; 65 function d(e) { 66 let t = e(), 67 r = { loading: !0, loaded: null, error: null }; 68 return ( 69 (r.promise = t 70 .then((e) => ((r.loading = !1), (r.loaded = e), e)) 71 .catch((e) => { 72 throw ((r.loading = !1), (r.error = e), e); 73 })), 74 r 75 ); 76 } 77 class u { 78 promise() { 79 return this._res.promise; 80 } 81 retry() { 82 (this._clearTimeouts(), 83 (this._res = this._loadFn(this._opts.loader)), 84 (this._state = { pastDelay: !1, timedOut: !1 })); 85 let { _res: e, _opts: t } = this; 86 (e.loading && 87 ("number" == typeof t.delay && 88 (0 === t.delay 89 ? (this._state.pastDelay = !0) 90 : (this._delay = setTimeout(() => { 91 this._update({ pastDelay: !0 }); 92 }, t.delay))), 93 "number" == typeof t.timeout && 94 (this._timeout = setTimeout(() => { 95 this._update({ timedOut: !0 }); 96 }, t.timeout))), 97 this._res.promise 98 .then(() => { 99 (this._update({}), this._clearTimeouts()); 100 }) 101 .catch((e) => { 102 (this._update({}), this._clearTimeouts()); 103 }), 104 this._update({})); 105 } 106 _update(e) { 107 ((this._state = i( 108 {}, 109 this._state, 110 { 111 error: this._res.error, 112 loaded: this._res.loaded, 113 loading: this._res.loading, 114 }, 115 e, 116 )), 117 this._callbacks.forEach((e) => e())); 118 } 119 _clearTimeouts() { 120 (clearTimeout(this._delay), clearTimeout(this._timeout)); 121 } 122 getCurrentValue() { 123 return this._state; 124 } 125 subscribe(e) { 126 return ( 127 this._callbacks.add(e), 128 () => { 129 this._callbacks.delete(e); 130 } 131 ); 132 } 133 constructor(e, t) { 134 ((this._loadFn = e), 135 (this._opts = t), 136 (this._callbacks = new Set()),
137 (this._delay = null), 138 (this._timeout = null), 139 this.retry()); 140 } 141 } 142 function p(e) { 143 return (function (e, t) { 144 let r = Object.assign( 145 { 146 loader: null, 147 loading: null, 148 delay: 200, 149 timeout: null, 150 webpack: null, 151 modules: null, 152 }, 153 t, 154 ), 155 i = null; 156 function a() { 157 if (!i) { 158 let t = new u(e, r); 159 i = { 160 getCurrentValue: t.getCurrentValue.bind(t), 161 subscribe: t.subscribe.bind(t), 162 retry: t.retry.bind(t), 163 promise: t.promise.bind(t), 164 }; 165 } 166 return i.promise(); 167 } 168 if (!o) { 169 let e = r.webpack ? r.webpack() : r.modules; 170 e && 171 n.push((t) => { 172 for (let r of e) if (-1 !== t.indexOf(r)) return a(); 173 }); 174 } 175 function d(e, t) { 176 !(function () { 177 a(); 178 let e = s.default.useContext(l.LoadableContext); 179 e && 180 Array.isArray(r.modules) && 181 r.modules.forEach((t) => { 182 e(t); 183 }); 184 })(); 185 let n = s.default.useSyncExternalStore( 186 i.subscribe, 187 i.getCurrentValue, 188 i.getCurrentValue, 189 ); 190 return ( 191 s.default.useImperativeHandle(t, () => ({ retry: i.retry }), []), 192 s.default.useMemo(() => { 193 var t; 194 return n.loading || n.error 195 ? s.default.createElement(r.loading, { 196 isLoading: n.loading, 197 pastDelay: n.pastDelay, 198 timedOut: n.timedOut, 199 error: n.error, 200 retry: i.retry, 201 }) 202 : n.loaded 203 ? s.default.createElement( 204 (t = n.loaded) && t.default ? t.default : t, 205 e, 206 ) 207 : null; 208 }, [e, n]) 209 ); 210 } 211 return ( 212 (d.preload = () => a()), 213 (d.displayName = "LoadableComponent"), 214 s.default.forwardRef(d) 215 ); 216 })(d, e); 217 } 218 function c(e, t) { 219 let r = []; 220 for (; e.length; ) { 221 let i = e.pop(); 222 r.push(i(t)); 223 } 224 return Promise.all(r).then(() => { 225 if (e.length) return c(e, t); 226 }); 227 } 228 ((p.preloadAll = () => 229 new Promise((e, t) => { 230 c(a).then(e, t); 231 })), 232 (p.preloadReady = function () { 233 let e = 234 arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : []; 235 return new Promise((t) => { 236 let r = () => ((o = !0), t()); 237 c(n, e).then(r, r); 238 }); 239 }), 240 (window.__NEXT_PRELOADREADY = p.preloadReady), 241 (t.default = p)); 242 }, 243 163: function () {}, 244 995: function () {}, 245 5152: function (e, t, r) { 246 e.exports = r(638); 247 }, 248 2546: function (e, t, r) { 249 "use strict"; 250 r.d(t, { 251 tq: function () { 252 return w; 253 }, 254 o5: function () { 255 return S; 256 }, 257 }); 258 var i = r(7294), 259 s = r(2544); 260 function l(e) { 261 return ( 262 "object" == typeof e && 263 null !== e && 264 e.constructor && 265 "Object" === Object.prototype.toString.call(e).slice(8, -1) 266 ); 267 } 268 function a(e, t) { 269 let r = ["__proto__", "constructor", "prototype"]; 270 Object.keys(t) 271 .filter((e) => 0 > r.indexOf(e)) 272 .forEach((r) => { 273 void 0 === e[r] 274 ? (e[r] = t[r]) 275 : l(t[r]) && l(e[r]) && Object.keys(t[r]).length > 0 276 ? t[r].__swiper__ 277 ? (e[r] = t[r]) 278 : a(e[r], t[r]) 279 : (e[r] = t[r]); 280 }); 281 } 282 function n(e = {}) { 283 return ( 284 e.navigation && 285 void 0 === e.navigation.nextEl && 286 void 0 === e.navigation.prevEl 287 ); 288 } 289 function o(e = {}) { 290 return e.pagination && void 0 === e.pagination.el; 291 } 292 function d(e = {}) { 293 return e.scrollbar && void 0 === e.scrollbar.el; 294 } 295 function u(e = "") { 296 let t = e 297 .split(" ") 298 .map((e) => e.trim()) 299 .filter((e) => !!e), 300 r = []; 301 return ( 302 t.forEach((e) => { 303 0 > r.indexOf(e) && r.push(e); 304 }),
305 r.join(" ") 306 ); 307 } 308 let p = [ 309 "modules", 310 "init", 311 "_direction", 312 "oneWayMovement", 313 "touchEventsTarget", 314 "initialSlide", 315 "_speed", 316 "cssMode", 317 "updateOnWindowResize", 318 "resizeObserver", 319 "nested", 320 "focusableElements", 321 "_enabled", 322 "_width", 323 "_height", 324 "preventInteractionOnTransition", 325 "userAgent", 326 "url", 327 "_edgeSwipeDetection", 328 "_edgeSwipeThreshold", 329 "_freeMode", 330 "_autoHeight", 331 "setWrapperSize", 332 "virtualTranslate", 333 "_effect", 334 "breakpoints", 335 "_spaceBetween", 336 "_slidesPerView", 337 "maxBackfaceHiddenSlides", 338 "_grid", 339 "_slidesPerGroup", 340 "_slidesPerGroupSkip", 341 "_slidesPerGroupAuto", 342 "_centeredSlides", 343 "_centeredSlidesBounds", 344 "_slidesOffsetBefore", 345 "_slidesOffsetAfter", 346 "normalizeSlideIndex", 347 "_centerInsufficientSlides", 348 "_watchOverflow", 349 "roundLengths", 350 "touchRatio", 351 "touchAngle", 352 "simulateTouch", 353 "_shortSwipes", 354 "_longSwipes", 355 "longSwipesRatio", 356 "longSwipesMs", 357 "_followFinger", 358 "allowTouchMove", 359 "_threshold", 360 "touchMoveStopPropagation", 361 "touchStartPreventDefault", 362 "touchStartForcePreventDefault", 363 "touchReleaseOnEdges", 364 "uniqueNavElements", 365 "_resistance", 366 "_resistanceRatio", 367 "_watchSlidesProgress", 368 "_grabCursor", 369 "preventClicks", 370 "preventClicksPropagation", 371 "_slideToClickedSlide", 372 "_loop", 373 "loopedSlides", 374 "loopPreventsSliding", 375 "_rewind", 376 "_allowSlidePrev", 377 "_allowSlideNext", 378 "_swipeHandler", 379 "_noSwiping", 380 "noSwipingClass", 381 "noSwipingSelector", 382 "passiveListeners", 383 "containerModifierClass", 384 "slideClass", 385 "slideActiveClass", 386 "slideVisibleClass", 387 "slideNextClass", 388 "slidePrevClass", 389 "wrapperClass", 390 "lazyPreloaderClass", 391 "runCallbacksOnInit", 392 "observer", 393 "observeParents", 394 "observeSlideChildren", 395 "a11y", 396 "_autoplay", 397 "_controller", 398 "coverflowEffect", 399 "cubeEffect", 400 "fadeEffect", 401 "flipEffect", 402 "creativeEffect", 403 "cardsEffect", 404 "hashNavigation", 405 "history", 406 "keyboard", 407 "mousewheel", 408 "_navigation", 409 "_pagination", 410 "parallax", 411 "_scrollbar", 412 "_thumbs", 413 "virtual", 414 "zoom", 415 "control", 416 "injectStyles", 417 "injectStylesUrls", 418 ]; 419 function c(e) { 420 return ( 421 e.type && 422 e.type.displayName && 423 e.type.displayName.includes("SwiperSlide") 424 ); 425 } 426 let f = (e) => { 427 e && 428 !e.destroyed && 429 e.params.virtual && 430 (!e.params.virtual || e.params.virtual.enabled) && 431 (e.updateSlides(), 432 e.updateProgress(), 433 e.updateSlidesClasses(), 434 e.parallax && 435 e.params.parallax && 436 e.params.parallax.enabled && 437 e.parallax.setTranslate()); 438 }; 439 function h(e, t) { 440 return "undefined" == typeof window 441 ? (0, i.useEffect)(e, t) 442 : (0, i.useLayoutEffect)(e, t); 443 } 444 let m = (0, i.createContext)(null), 445 v = (0, i.createContext)(null); 446 function g() { 447 return (g = Object.assign 448 ? Object.assign.bind() 449 : function (e) { 450 for (var t = 1; t < arguments.length; t++) { 451 var r = arguments[t]; 452 for (var i in r) 453 Object.prototype.hasOwnProperty.call(r, i) && (e[i] = r[i]); 454 } 455 return e; 456 }).apply(this, arguments); 457 } 458 let w = (0, i.forwardRef)(function (e, t) { 459 let { 460 className: r, 461 tag: m = "div", 462 wrapperTag: w = "div", 463 children: b, 464 onSwiper: S, 465 ...y 466 } = void 0 === e ? {} : e, 467 T = !1, 468 [E, x] = (0, i.useState)("swiper"), 469 [C, M] = (0, i.useState)(null), 470 [P, _] = (0, i.useState)(!1), 471 O = (0, i.useRef)(!1), 472 k = (0, i.useRef)(null), 473 L = (0, i.useRef)(null), 474 z = (0, i.useRef)(null), 475 A = (0, i.useRef)(null), 476 I = (0, i.useRef)(null), 477 G = (0, i.useRef)(null), 478 D = (0, i.useRef)(null), 479 N = (0, i.useRef)(null), 480 { 481 params: j, 482 passedParams: $, 483 rest: F, 484 events: V, 485 } = (function (e = {}, t = !0) { 486 let r = { on: {} },
487 i = {}, 488 n = {}; 489 (a(r, s.ZP.defaults), 490 a(r, s.ZP.extendedDefaults), 491 (r._emitClasses = !0), 492 (r.init = !1)); 493 let o = {}, 494 d = p.map((e) => e.replace(/_/, "")), 495 u = Object.assign({}, e); 496 return ( 497 Object.keys(u).forEach((s) => { 498 void 0 !== e[s] && 499 (d.indexOf(s) >= 0 500 ? l(e[s]) 501 ? ((r[s] = {}), (n[s] = {}), a(r[s], e[s]), a(n[s], e[s])) 502 : ((r[s] = e[s]), (n[s] = e[s])) 503 : 0 === s.search(/on[A-Z]/) && "function" == typeof e[s] 504 ? t 505 ? (i[`${s[2].toLowerCase()}${s.substr(3)}`] = e[s]) 506 : (r.on[`${s[2].toLowerCase()}${s.substr(3)}`] = e[s]) 507 : (o[s] = e[s])); 508 }), 509 ["navigation", "pagination", "scrollbar"].forEach((e) => { 510 (!0 === r[e] && (r[e] = {}), !1 === r[e] && delete r[e]); 511 }), 512 { params: r, passedParams: n, rest: o, events: i } 513 ); 514 })(y), 515 { slides: B, slots: R } = (function (e) { 516 let t = [], 517 r = { 518 "container-start": [], 519 "container-end": [], 520 "wrapper-start": [], 521 "wrapper-end": [], 522 }; 523 return ( 524 i.Children.toArray(e).forEach((e) => { 525 if (c(e)) t.push(e); 526 else if (e.props && e.props.slot && r[e.props.slot]) 527 r[e.props.slot].push(e); 528 else if (e.props && e.props.children) { 529 let s = (function e(t) { 530 let r = []; 531 return ( 532 i.Children.toArray(t).forEach((t) => { 533 c(t) 534 ? r.push(t) 535 : t.props && 536 t.props.children && 537 e(t.props.children).forEach((e) => r.push(e)); 538 }), 539 r 540 ); 541 })(e.props.children); 542 s.length > 0 543 ? s.forEach((e) => t.push(e)) 544 : r["container-end"].push(e); 545 } else r["container-end"].push(e); 546 }), 547 { slides: t, slots: r } 548 ); 549 })(b), 550 H = () => { 551 _(!P); 552 }; 553 Object.assign(j.on, { 554 _containerClasses(e, t) { 555 x(t); 556 }, 557 }); 558 let W = () => { 559 (Object.assign(j.on, V), (T = !0)); 560 let e = { ...j }; 561 if ( 562 (delete e.wrapperClass, 563 (L.current = new s.ZP(e)), 564 L.current.virtual && L.current.params.virtual.enabled) 565 ) { 566 L.current.virtual.slides = B; 567 let e = { 568 cache: !1, 569 slides: B, 570 renderExternal: M, 571 renderExternalUpdate: !1, 572 }; 573 (a(L.current.params.virtual, e), 574 a(L.current.originalParams.virtual, e)); 575 } 576 }; 577 (k.current || W(), L.current && L.current.on("_beforeBreakpoint", H)); 578 let X = () => { 579 !T && 580 V && 581 L.current && 582 Object.keys(V).forEach((e) => { 583 L.current.on(e, V[e]); 584 }); 585 }, 586 Y = () => { 587 V && 588 L.current && 589 Object.keys(V).forEach((e) => { 590 L.current.off(e, V[e]); 591 }); 592 }; 593 return ( 594 (0, i.useEffect)(() => () => { 595 L.current && L.current.off("_beforeBreakpoint", H); 596 }), 597 (0, i.useEffect)(() => { 598 !O.current && 599 L.current && 600 (L.current.emitSlidesClasses(), (O.current = !0)); 601 }), 602 h(() => { 603 if ((t && (t.current = k.current), k.current)) 604 return ( 605 L.current.destroyed && W(), 606 (function ( 607 { 608 el: e, 609 nextEl: t, 610 prevEl: r, 611 paginationEl: i, 612 scrollbarEl: s, 613 swiper: l, 614 }, 615 a, 616 ) { 617 (n(a) && 618 t && 619 r && 620 ((l.params.navigation.nextEl = t), 621 (l.originalParams.navigation.nextEl = t), 622 (l.params.navigation.prevEl = r), 623 (l.originalParams.navigation.prevEl = r)), 624 o(a) && 625 i && 626 ((l.params.pagination.el = i), 627 (l.originalParams.pagination.el = i)), 628 d(a) && 629 s && 630 ((l.params.scrollbar.el = s), 631 (l.originalParams.scrollbar.el = s)), 632 l.init(e)); 633 })( 634 { 635 el: k.current, 636 nextEl: I.current, 637 prevEl: G.current, 638 paginationEl: D.current, 639 scrollbarEl: N.current, 640 swiper: L.current, 641 }, 642 j, 643 ), 644 S && S(L.current), 645 () => { 646 L.current && 647 !L.current.destroyed && 648 L.current.destroy(!0, !1); 649 } 650 ); 651 }, []), 652 h(() => { 653 X(); 654 let e = (function (e, t, r, i, s) { 655 let a = []; 656 if (!t) return a; 657 let n = (e) => { 658 0 > a.indexOf(e) && a.push(e); 659 }; 660 if (r && i) { 661 let e = i.map(s), 662 t = r.map(s); 663 (e.join("") !== t.join("") && n("children"), 664 i.length !== r.length && n("children")); 665 } 666 let o = p 667 .filter((e) => "_" === e[0]) 668 .map((e) => e.replace(/_/, "")); 669 return ( 670 o.forEach((r) => { 671 if (r in e && r in t) { 672 if (l(e[r]) && l(t[r])) { 673 let i = Object.keys(e[r]), 674 s = Object.keys(t[r]); 675 i.length !== s.length 676 ? n(r) 677 : (i.forEach((i) => { 678 e[r][i] !== t[r][i] && n(r); 679 }),
680 s.forEach((i) => { 681 e[r][i] !== t[r][i] && n(r); 682 })); 683 } else e[r] !== t[r] && n(r); 684 } 685 }), 686 a 687 ); 688 })($, z.current, B, A.current, (e) => e.key); 689 return ( 690 (z.current = $), 691 (A.current = B), 692 e.length && 693 L.current && 694 !L.current.destroyed && 695 (function ({ 696 swiper: e, 697 slides: t, 698 passedParams: r, 699 changedParams: i, 700 nextEl: s, 701 prevEl: n, 702 scrollbarEl: o, 703 paginationEl: d, 704 }) { 705 let u, p, c, f, h, m, v, g; 706 let w = i.filter( 707 (e) => 708 "children" !== e && 709 "direction" !== e && 710 "wrapperClass" !== e, 711 ), 712 { 713 params: b, 714 pagination: S, 715 navigation: y, 716 scrollbar: T, 717 virtual: E, 718 thumbs: x, 719 } = e; 720 (i.includes("thumbs") && 721 r.thumbs && 722 r.thumbs.swiper && 723 b.thumbs && 724 !b.thumbs.swiper && 725 (u = !0), 726 i.includes("controller") && 727 r.controller && 728 r.controller.control && 729 b.controller && 730 !b.controller.control && 731 (p = !0), 732 i.includes("pagination") && 733 r.pagination && 734 (r.pagination.el || d) && 735 (b.pagination || !1 === b.pagination) && 736 S && 737 !S.el && 738 (c = !0), 739 i.includes("scrollbar") && 740 r.scrollbar && 741 (r.scrollbar.el || o) && 742 (b.scrollbar || !1 === b.scrollbar) && 743 T && 744 !T.el && 745 (f = !0), 746 i.includes("navigation") && 747 r.navigation && 748 (r.navigation.prevEl || n) && 749 (r.navigation.nextEl || s) && 750 (b.navigation || !1 === b.navigation) && 751 y && 752 !y.prevEl && 753 !y.nextEl && 754 (h = !0)); 755 let C = (t) => { 756 e[t] && 757 (e[t].destroy(), 758 "navigation" === t 759 ? (e.isElement && 760 (e[t].prevEl.remove(), e[t].nextEl.remove()), 761 (b[t].prevEl = void 0), 762 (b[t].nextEl = void 0), 763 (e[t].prevEl = void 0), 764 (e[t].nextEl = void 0)) 765 : (e.isElement && e[t].el.remove(), 766 (b[t].el = void 0), 767 (e[t].el = void 0))); 768 }; 769 if ( 770 (i.includes("loop") && 771 e.isElement && 772 (b.loop && !r.loop 773 ? (m = !0) 774 : !b.loop && r.loop 775 ? (v = !0) 776 : (g = !0)), 777 w.forEach((e) => { 778 if (l(b[e]) && l(r[e])) a(b[e], r[e]); 779 else { 780 let t = r[e]; 781 (!0 === t || !1 === t) && 782 ("navigation" === e || 783 "pagination" === e || 784 "scrollbar" === e) 785 ? !1 === t && C(e) 786 : (b[e] = r[e]); 787 } 788 }), 789 w.includes("controller") && 790 !p && 791 e.controller && 792 e.controller.control && 793 b.controller && 794 b.controller.control && 795 (e.controller.control = b.controller.control), 796 i.includes("children") && 797 t && 798 E && 799 b.virtual.enabled && 800 ((E.slides = t), E.update(!0)), 801 i.includes("children") && t && b.loop && (g = !0), 802 u) 803 ) { 804 let e = x.init(); 805 e && x.update(!0); 806 } 807 (p && (e.controller.control = b.controller.control), 808 c && 809 (e.isElement && 810 (!d || "string" == typeof d) && 811 ((d = document.createElement("div")).classList.add( 812 "swiper-pagination", 813 ), 814 e.el.shadowEl.appendChild(d)), 815 d && (b.pagination.el = d), 816 S.init(), 817 S.render(), 818 S.update()), 819 f && 820 (e.isElement && 821 (!o || "string" == typeof o) && 822 ((o = document.createElement("div")).classList.add( 823 "swiper-scrollbar", 824 ), 825 e.el.shadowEl.appendChild(o)), 826 o && (b.scrollbar.el = o),
827 T.init(), 828 T.updateSize(), 829 T.setTranslate()), 830 h && 831 (e.isElement && 832 ((s && "string" != typeof s) || 833 ((s = document.createElement("div")).classList.add( 834 "swiper-button-next", 835 ), 836 e.el.shadowEl.appendChild(s)), 837 (n && "string" != typeof n) || 838 ((n = document.createElement("div")).classList.add( 839 "swiper-button-prev", 840 ), 841 e.el.shadowEl.appendChild(n))), 842 s && (b.navigation.nextEl = s), 843 n && (b.navigation.prevEl = n), 844 y.init(), 845 y.update()), 846 i.includes("allowSlideNext") && 847 (e.allowSlideNext = r.allowSlideNext), 848 i.includes("allowSlidePrev") && 849 (e.allowSlidePrev = r.allowSlidePrev), 850 i.includes("direction") && 851 e.changeDirection(r.direction, !1), 852 (m || g) && e.loopDestroy(), 853 (v || g) && e.loopCreate(), 854 e.update()); 855 })({ 856 swiper: L.current, 857 slides: B, 858 passedParams: $, 859 changedParams: e, 860 nextEl: I.current, 861 prevEl: G.current, 862 scrollbarEl: N.current, 863 paginationEl: D.current, 864 }), 865 () => { 866 Y(); 867 } 868 ); 869 }), 870 h(() => { 871 f(L.current); 872 }, [C]), 873 i.createElement( 874 m, 875 g({ ref: k, className: u(`${E}${r ? ` ${r}` : ""}`) }, F), 876 i.createElement( 877 v.Provider, 878 { value: L.current }, 879 R["container-start"], 880 i.createElement( 881 w, 882 { 883 className: (function (e = "") { 884 return e 885 ? e.includes("swiper-wrapper") 886 ? e 887 : `swiper-wrapper ${e}` 888 : "swiper-wrapper"; 889 })(j.wrapperClass), 890 }, 891 R["wrapper-start"], 892 j.virtual 893 ? (function (e, t, r) { 894 if (!r) return null; 895 let s = (e) => { 896 let r = e; 897 return ( 898 e < 0 899 ? (r = t.length + e) 900 : r >= t.length && (r -= t.length), 901 r 902 ); 903 }, 904 l = e.isHorizontal() 905 ? { 906 [e.rtlTranslate ? "right" : "left"]: 907 `${r.offset}px`, 908 } 909 : { top: `${r.offset}px` }, 910 { from: a, to: n } = r, 911 o = e.params.loop ? -t.length : 0, 912 d = e.params.loop ? 2 * t.length : t.length, 913 u = []; 914 for (let e = o; e < d; e += 1) 915 e >= a && e <= n && u.push(t[s(e)]); 916 return u.map((t) => 917 i.cloneElement(t, { swiper: e, style: l }), 918 ); 919 })(L.current, B, C) 920 : B.map((e, t) => 921 i.cloneElement(e, { 922 swiper: L.current, 923 swiperSlideIndex: t, 924 }), 925 ), 926 R["wrapper-end"], 927 ), 928 n(j) && 929 i.createElement( 930 i.Fragment, 931 null, 932 i.createElement("div", { 933 ref: G, 934 className: "swiper-button-prev", 935 }), 936 i.createElement("div", { 937 ref: I, 938 className: "swiper-button-next", 939 }), 940 ), 941 d(j) && 942 i.createElement("div", { 943 ref: N, 944 className: "swiper-scrollbar", 945 }), 946 o(j) && 947 i.createElement("div", { 948 ref: D, 949 className: "swiper-pagination", 950 }), 951 R["container-end"], 952 ), 953 ) 954 ); 955 }); 956 function b() { 957 return (b = Object.assign 958 ? Object.assign.bind() 959 : function (e) { 960 for (var t = 1; t < arguments.length; t++) { 961 var r = arguments[t]; 962 for (var i in r) 963 Object.prototype.hasOwnProperty.call(r, i) && (e[i] = r[i]); 964 } 965 return e; 966 }).apply(this, arguments); 967 } 968 w.displayName = "Swiper"; 969 let S = (0, i.forwardRef)(function (e, t) { 970 let { 971 tag: r = "div", 972 children: s, 973 className: l = "", 974 swiper: a, 975 zoom: n, 976 lazy: o, 977 virtualIndex: d, 978 swiperSlideIndex: p, 979 ...c 980 } = void 0 === e ? {} : e, 981 f = (0, i.useRef)(null), 982 [v, g] = (0, i.useState)("swiper-slide"), 983 [w, S] = (0, i.useState)(!1); 984 function y(e, t, r) { 985 t === f.current && g(r); 986 } 987 (h(() => { 988 if ( 989 (void 0 !== p && (f.current.swiperSlideIndex = p), 990 t && (t.current = f.current), 991 f.current && a) 992 ) { 993 if (a.destroyed) { 994 "swiper-slide" !== v && g("swiper-slide"); 995 return; 996 } 997 return ( 998 a.on("_slideClass", y), 999 () => { 1000 a && a.off("_slideClass", y); 1001 } 1002 ); 1003 } 1004 }), 1005 h(() => { 1006 a && f.current && !a.destroyed && g(a.getSlideClasses(f.current)); 1007 }, [a])); 1008 let T = { 1009 isActive: v.indexOf("swiper-slide-active") >= 0, 1010 isVisible: v.indexOf("swiper-slide-visible") >= 0, 1011 isPrev: v.indexOf("swiper-slide-prev") >= 0, 1012 isNext: v.indexOf("swiper-slide-next") >= 0, 1013 }, 1014 E = () => ("function" == typeof s ? s(T) : s), 1015 x = () => { 1016 S(!0); 1017 }; 1018 return i.createElement( 1019 r, 1020 b( 1021 { 1022 ref: f, 1023 className: u(`${v}${l ? ` ${l}` : ""}`), 1024 "data-swiper-slide-index": d, 1025 onLoad: x, 1026 }, 1027 c, 1028 ), 1029 n && 1030 i.createElement( 1031 m.Provider, 1032 { value: T }, 1033 i.createElement( 1034 "div", 1035 { 1036 className: "swiper-zoom-container", 1037 "data-swiper-zoom": "number" == typeof n ? n : void 0, 1038 }, 1039 E(), 1040 o && 1041 !w && 1042 i.createElement("div", { 1043 className: "swiper-lazy-preloader", 1044 }), 1045 ), 1046 ), 1047 !n && 1048 i.createElement( 1049 m.Provider, 1050 { value: T }, 1051 E(), 1052 o && 1053 !w && 1054 i.createElement("div", { className: "swiper-lazy-preloader" }), 1055 ), 1056 ); 1057 }); 1058 S.displayName = "SwiperSlide"; 1059 }, 1060 2544: function (e, t, r) { 1061 "use strict"; 1062 let i, s, l, a; 1063 function n(e) { 1064 return ( 1065 null !== e && 1066 "object" == typeof e && 1067 "constructor" in e && 1068 e.constructor === Object 1069 ); 1070 } 1071 function o(e = {}, t = {}) { 1072 Object.keys(t).forEach((r) => { 1073 void 0 === e[r] 1074 ? (e[r] = t[r]) 1075 : n(t[r]) && 1076 n(e[r]) && 1077 Object.keys(t[r]).length > 0 && 1078 o(e[r], t[r]); 1079 }); 1080 } 1081 r.d(t, { 1082 pt: function () { 1083 return B; 1084 }, 1085 ZP: function () { 1086 return V; 1087 }, 1088 }); 1089 let d = { 1090 body: {}, 1091 addEventListener() {}, 1092 removeEventListener() {}, 1093 activeElement: { blur() {}, nodeName: "" }, 1094 querySelector: () => null, 1095 querySelectorAll: () => [], 1096 getElementById: () => null, 1097 createEvent: () => ({ initEvent() {} }), 1098 createElement: () => ({ 1099 children: [], 1100 childNodes: [], 1101 style: {}, 1102 setAttribute() {}, 1103 getElementsByTagName: () => [], 1104 }), 1105 createElementNS: () => ({}), 1106 importNode: () => null, 1107 location: { 1108 hash: "", 1109 host: "", 1110 hostname: "", 1111 href: "", 1112 origin: "", 1113 pathname: "", 1114 protocol: "", 1115 search: "", 1116 }, 1117 }; 1118 function u() { 1119 let e = "undefined" != typeof document ? document : {}; 1120 return (o(e, d), e); 1121 } 1122 let p = { 1123 document: d, 1124 navigator: { userAgent: "" }, 1125 location: { 1126 hash: "", 1127 host: "", 1128 hostname: "", 1129 href: "", 1130 origin: "", 1131 pathname: "", 1132 protocol: "", 1133 search: "", 1134 }, 1135 history: { replaceState() {}, pushState() {}, go() {}, back() {} }, 1136 CustomEvent: function () { 1137 return this; 1138 }, 1139 addEventListener() {}, 1140 removeEventListener() {}, 1141 getComputedStyle: () => ({ getPropertyValue: () => "" }), 1142 Image() {}, 1143 Date() {}, 1144 screen: {}, 1145 setTimeout() {}, 1146 clearTimeout() {}, 1147 matchMedia: () => ({}), 1148 requestAnimationFrame: (e) => 1149 "undefined" == typeof setTimeout ? (e(), null) : setTimeout(e, 0), 1150 cancelAnimationFrame(e) { 1151 "undefined" != typeof setTimeout && clearTimeout(e); 1152 }, 1153 }; 1154 function c() { 1155 let e = "undefined" != typeof window ? window : {}; 1156 return (o(e, p), e); 1157 } 1158 function f(e, t = 0) { 1159 return setTimeout(e, t); 1160 } 1161 function h() { 1162 return Date.now(); 1163 } 1164 function m(e) { 1165 return ( 1166 "object" == typeof e && 1167 null !== e && 1168 e.constructor && 1169 "Object" === Object.prototype.toString.call(e).slice(8, -1) 1170 ); 1171 } 1172 function v(...e) { 1173 let t = Object(e[0]), 1174 r = ["__proto__", "constructor", "prototype"]; 1175 for (let i = 1; i < e.length; i += 1) { 1176 let s = e[i]; 1177 if ( 1178 null != s && 1179 ("undefined" != typeof window && void 0 !== window.HTMLElement 1180 ? !(s instanceof HTMLElement) 1181 : !s || (1 !== s.nodeType && 11 !== s.nodeType)) 1182 ) { 1183 let e = Object.keys(Object(s)).filter((e) => 0 > r.indexOf(e)); 1184 for (let r = 0, i = e.length; r < i; r += 1) { 1185 let i = e[r], 1186 l = Object.getOwnPropertyDescriptor(s, i); 1187 void 0 !== l && 1188 l.enumerable && 1189 (m(t[i]) && m(s[i]) 1190 ? s[i].__swiper__ 1191 ? (t[i] = s[i]) 1192 : v(t[i], s[i]) 1193 : !m(t[i]) && m(s[i]) 1194 ? ((t[i] = {}), 1195 s[i].__swiper__ ? (t[i] = s[i]) : v(t[i], s[i]))
1196 : (t[i] = s[i])); 1197 } 1198 } 1199 } 1200 return t; 1201 } 1202 function g(e, t, r) { 1203 e.style.setProperty(t, r); 1204 } 1205 function w({ swiper: e, targetPosition: t, side: r }) { 1206 let i; 1207 let s = c(), 1208 l = -e.translate, 1209 a = null, 1210 n = e.params.speed; 1211 ((e.wrapperEl.style.scrollSnapType = "none"), 1212 s.cancelAnimationFrame(e.cssModeFrameID)); 1213 let o = t > l ? "next" : "prev", 1214 d = (e, t) => ("next" === o && e >= t) || ("prev" === o && e <= t), 1215 u = () => { 1216 ((i = new Date().getTime()), null === a && (a = i)); 1217 let o = Math.max(Math.min((i - a) / n, 1), 0), 1218 p = l + (0.5 - Math.cos(o * Math.PI) / 2) * (t - l); 1219 if ( 1220 (d(p, t) && (p = t), e.wrapperEl.scrollTo({ [r]: p }), d(p, t)) 1221 ) { 1222 ((e.wrapperEl.style.overflow = "hidden"), 1223 (e.wrapperEl.style.scrollSnapType = ""), 1224 setTimeout(() => { 1225 ((e.wrapperEl.style.overflow = ""), 1226 e.wrapperEl.scrollTo({ [r]: p })); 1227 }), 1228 s.cancelAnimationFrame(e.cssModeFrameID)); 1229 return; 1230 } 1231 e.cssModeFrameID = s.requestAnimationFrame(u); 1232 }; 1233 u(); 1234 } 1235 function b(e, t = "") { 1236 return [...e.children].filter((e) => e.matches(t)); 1237 } 1238 function S(e, t) { 1239 let r = c(); 1240 return r.getComputedStyle(e, null).getPropertyValue(t); 1241 } 1242 function y(e) { 1243 let t, 1244 r = e; 1245 if (r) { 1246 for (t = 0; null !== (r = r.previousSibling); ) 1247 1 === r.nodeType && (t += 1); 1248 return t; 1249 } 1250 } 1251 function T(e, t, r) { 1252 let i = c(); 1253 return r 1254 ? e["width" === t ? "offsetWidth" : "offsetHeight"] + 1255 parseFloat( 1256 i 1257 .getComputedStyle(e, null) 1258 .getPropertyValue( 1259 "width" === t ? "margin-right" : "margin-top", 1260 ), 1261 ) + 1262 parseFloat( 1263 i 1264 .getComputedStyle(e, null) 1265 .getPropertyValue( 1266 "width" === t ? "margin-left" : "margin-bottom", 1267 ), 1268 ) 1269 : e.offsetWidth; 1270 } 1271 function E() { 1272 return ( 1273 i || 1274 (i = (function () { 1275 let e = c(), 1276 t = u(); 1277 return { 1278 smoothScroll: 1279 t.documentElement && 1280 "scrollBehavior" in t.documentElement.style, 1281 touch: !!( 1282 "ontouchstart" in e || 1283 (e.DocumentTouch && t instanceof e.DocumentTouch) 1284 ), 1285 }; 1286 })()), 1287 i 1288 ); 1289 } 1290 function x({ swiper: e, runCallbacks: t, direction: r, step: i }) { 1291 let { activeIndex: s, previousIndex: l } = e, 1292 a = r; 1293 if ( 1294 (a || (a = s > l ? "next" : s < l ? "prev" : "reset"), 1295 e.emit(`transition${i}`), 1296 t && s !== l) 1297 ) { 1298 if ("reset" === a) { 1299 e.emit(`slideResetTransition${i}`); 1300 return; 1301 } 1302 (e.emit(`slideChangeTransition${i}`), 1303 "next" === a 1304 ? e.emit(`slideNextTransition${i}`) 1305 : e.emit(`slidePrevTransition${i}`)); 1306 } 1307 } 1308 function C(e) { 1309 let t = this, 1310 r = u(), 1311 i = c(), 1312 s = t.touchEventsData; 1313 s.evCache.push(e); 1314 let { params: l, touches: a, enabled: n } = t; 1315 if ( 1316 !n || 1317 (!l.simulateTouch && "mouse" === e.pointerType) || 1318 (t.animating && l.preventInteractionOnTransition) 1319 ) 1320 return; 1321 !t.animating && l.cssMode && l.loop && t.loopFix(); 1322 let o = e; 1323 o.originalEvent && (o = o.originalEvent); 1324 let d = o.target; 1325 if ( 1326 ("wrapper" === l.touchEventsTarget && !t.wrapperEl.contains(d)) || 1327 ("which" in o && 3 === o.which) || 1328 ("button" in o && o.button > 0) || 1329 (s.isTouched && s.isMoved) 1330 ) 1331 return;
1332 let p = !!l.noSwipingClass && "" !== l.noSwipingClass, 1333 f = e.composedPath ? e.composedPath() : e.path; 1334 p && o.target && o.target.shadowRoot && f && (d = f[0]); 1335 let m = l.noSwipingSelector 1336 ? l.noSwipingSelector 1337 : `.${l.noSwipingClass}`, 1338 v = !!(o.target && o.target.shadowRoot); 1339 if ( 1340 l.noSwiping && 1341 (v 1342 ? (function (e, t = this) { 1343 return (function t(r) { 1344 if (!r || r === u() || r === c()) return null; 1345 r.assignedSlot && (r = r.assignedSlot); 1346 let i = r.closest(e); 1347 return i || r.getRootNode 1348 ? i || t(r.getRootNode().host) 1349 : null; 1350 })(t); 1351 })(m, d) 1352 : d.closest(m)) 1353 ) { 1354 t.allowClick = !0; 1355 return; 1356 } 1357 if (l.swipeHandler && !d.closest(l.swipeHandler)) return; 1358 ((a.currentX = o.pageX), (a.currentY = o.pageY)); 1359 let g = a.currentX, 1360 w = a.currentY, 1361 b = l.edgeSwipeDetection || l.iOSEdgeSwipeDetection, 1362 S = l.edgeSwipeThreshold || l.iOSEdgeSwipeThreshold; 1363 if (b && (g <= S || g >= i.innerWidth - S)) { 1364 if ("prevent" !== b) return; 1365 e.preventDefault(); 1366 } 1367 (Object.assign(s, { 1368 isTouched: !0, 1369 isMoved: !1, 1370 allowTouchCallbacks: !0, 1371 isScrolling: void 0, 1372 startMoving: void 0, 1373 }), 1374 (a.startX = g), 1375 (a.startY = w), 1376 (s.touchStartTime = h()), 1377 (t.allowClick = !0), 1378 t.updateSize(), 1379 (t.swipeDirection = void 0), 1380 l.threshold > 0 && (s.allowThresholdMove = !1)); 1381 let y = !0; 1382 (d.matches(s.focusableElements) && 1383 ((y = !1), "SELECT" === d.nodeName && (s.isTouched = !1)), 1384 r.activeElement && 1385 r.activeElement.matches(s.focusableElements) && 1386 r.activeElement !== d && 1387 r.activeElement.blur()); 1388 let T = y && t.allowTouchMove && l.touchStartPreventDefault; 1389 ((l.touchStartForcePreventDefault || T) && 1390 !d.isContentEditable && 1391 o.preventDefault(), 1392 t.params.freeMode && 1393 t.params.freeMode.enabled && 1394 t.freeMode && 1395 t.animating && 1396 !l.cssMode && 1397 t.freeMode.onTouchStart(), 1398 t.emit("touchStart", o)); 1399 } 1400 function M(e) { 1401 let t; 1402 let r = u(), 1403 i = this, 1404 s = i.touchEventsData, 1405 { params: l, touches: a, rtlTranslate: n, enabled: o } = i; 1406 if (!o || (!l.simulateTouch && "mouse" === e.pointerType)) return; 1407 let d = e; 1408 if ((d.originalEvent && (d = d.originalEvent), !s.isTouched)) { 1409 s.startMoving && s.isScrolling && i.emit("touchMoveOpposite", d); 1410 return; 1411 } 1412 let p = s.evCache.findIndex((e) => e.pointerId === d.pointerId); 1413 p >= 0 && (s.evCache[p] = d); 1414 let c = s.evCache.length > 1 ? s.evCache[0] : d, 1415 f = c.pageX, 1416 m = c.pageY; 1417 if (d.preventedByNestedSwiper) { 1418 ((a.startX = f), (a.startY = m)); 1419 return; 1420 } 1421 if (!i.allowTouchMove) { 1422 (d.target.matches(s.focusableElements) || (i.allowClick = !1), 1423 s.isTouched && 1424 (Object.assign(a, { 1425 startX: f, 1426 startY: m, 1427 prevX: i.touches.currentX, 1428 prevY: i.touches.currentY, 1429 currentX: f, 1430 currentY: m, 1431 }), 1432 (s.touchStartTime = h()))); 1433 return; 1434 } 1435 if (l.touchReleaseOnEdges && !l.loop) { 1436 if (i.isVertical()) { 1437 if ( 1438 (m < a.startY && i.translate <= i.maxTranslate()) || 1439 (m > a.startY && i.translate >= i.minTranslate()) 1440 ) { 1441 ((s.isTouched = !1), (s.isMoved = !1)); 1442 return; 1443 } 1444 } else if ( 1445 (f < a.startX && i.translate <= i.maxTranslate()) || 1446 (f > a.startX && i.translate >= i.minTranslate()) 1447 ) 1448 return; 1449 } 1450 if ( 1451 r.activeElement && 1452 d.target === r.activeElement && 1453 d.target.matches(s.focusableElements) 1454 ) { 1455 ((s.isMoved = !0), (i.allowClick = !1)); 1456 return; 1457 } 1458 if ( 1459 (s.allowTouchCallbacks && i.emit("touchMove", d), 1460 d.targetTouches && d.targetTouches.length > 1) 1461 ) 1462 return; 1463 ((a.currentX = f), (a.currentY = m)); 1464 let v = a.currentX - a.startX, 1465 g = a.currentY - a.startY; 1466 if ( 1467 i.params.threshold && 1468 Math.sqrt(v ** 2 + g ** 2) < i.params.threshold 1469 ) 1470 return; 1471 if (void 0 === s.isScrolling) { 1472 let e; 1473 (i.isHorizontal() && a.currentY === a.startY) || 1474 (i.isVertical() && a.currentX === a.startX) 1475 ? (s.isScrolling = !1) 1476 : v * v + g * g >= 25 && 1477 ((e = (180 * Math.atan2(Math.abs(g), Math.abs(v))) / Math.PI), 1478 (s.isScrolling = i.isHorizontal() 1479 ? e > l.touchAngle 1480 : 90 - e > l.touchAngle)); 1481 } 1482 if ( 1483 (s.isScrolling && i.emit("touchMoveOpposite", d), 1484 void 0 === s.startMoving && 1485 (a.currentX !== a.startX || a.currentY !== a.startY) && 1486 (s.startMoving = !0), 1487 s.isScrolling || 1488 (i.zoom && 1489 i.params.zoom && 1490 i.params.zoom.enabled && 1491 s.evCache.length > 1)) 1492 ) { 1493 s.isTouched = !1; 1494 return; 1495 } 1496 if (!s.startMoving) return; 1497 ((i.allowClick = !1), 1498 !l.cssMode && d.cancelable && d.preventDefault(), 1499 l.touchMoveStopPropagation && !l.nested && d.stopPropagation()); 1500 let w = i.isHorizontal() ? v : g, 1501 b = i.isHorizontal() 1502 ? a.currentX - a.previousX 1503 : a.currentY - a.previousY; 1504 (l.oneWayMovement && 1505 ((w = Math.abs(w) * (n ? 1 : -1)), (b = Math.abs(b) * (n ? 1 : -1))),
1506 (a.diff = w), 1507 (w *= l.touchRatio), 1508 n && ((w = -w), (b = -b))); 1509 let S = i.touchesDirection; 1510 ((i.swipeDirection = w > 0 ? "prev" : "next"), 1511 (i.touchesDirection = b > 0 ? "prev" : "next")); 1512 let y = i.params.loop && !l.cssMode; 1513 if (!s.isMoved) { 1514 if ( 1515 (y && i.loopFix({ direction: i.swipeDirection }), 1516 (s.startTranslate = i.getTranslate()), 1517 i.setTransition(0), 1518 i.animating) 1519 ) { 1520 let e = new window.CustomEvent("transitionend", { 1521 bubbles: !0, 1522 cancelable: !0, 1523 }); 1524 i.wrapperEl.dispatchEvent(e); 1525 } 1526 ((s.allowMomentumBounce = !1), 1527 l.grabCursor && 1528 (!0 === i.allowSlideNext || !0 === i.allowSlidePrev) && 1529 i.setGrabCursor(!0), 1530 i.emit("sliderFirstMove", d)); 1531 } 1532 (s.isMoved && 1533 S !== i.touchesDirection && 1534 y && 1535 Math.abs(w) >= 1 && 1536 (i.loopFix({ direction: i.swipeDirection, setTranslate: !0 }), 1537 (t = !0)), 1538 i.emit("sliderMove", d), 1539 (s.isMoved = !0), 1540 (s.currentTranslate = w + s.startTranslate)); 1541 let T = !0, 1542 E = l.resistanceRatio; 1543 if ( 1544 (l.touchReleaseOnEdges && (E = 0), 1545 w > 0 1546 ? (y && 1547 !t && 1548 s.currentTranslate > 1549 (l.centeredSlides 1550 ? i.minTranslate() - i.size / 2 1551 : i.minTranslate()) && 1552 i.loopFix({ 1553 direction: "prev", 1554 setTranslate: !0, 1555 activeSlideIndex: 0, 1556 }), 1557 s.currentTranslate > i.minTranslate() && 1558 ((T = !1), 1559 l.resistance && 1560 (s.currentTranslate = 1561 i.minTranslate() - 1562 1 + 1563 (-i.minTranslate() + s.startTranslate + w) ** E))) 1564 : w < 0 && 1565 (y && 1566 !t && 1567 s.currentTranslate < 1568 (l.centeredSlides 1569 ? i.maxTranslate() + i.size / 2 1570 : i.maxTranslate()) && 1571 i.loopFix({ 1572 direction: "next", 1573 setTranslate: !0, 1574 activeSlideIndex: 1575 i.slides.length - 1576 ("auto" === l.slidesPerView 1577 ? i.slidesPerViewDynamic() 1578 : Math.ceil(parseFloat(l.slidesPerView, 10))), 1579 }), 1580 s.currentTranslate < i.maxTranslate() && 1581 ((T = !1), 1582 l.resistance && 1583 (s.currentTranslate = 1584 i.maxTranslate() + 1585 1 - 1586 (i.maxTranslate() - s.startTranslate - w) ** E))), 1587 T && (d.preventedByNestedSwiper = !0), 1588 !i.allowSlideNext && 1589 "next" === i.swipeDirection && 1590 s.currentTranslate < s.startTranslate && 1591 (s.currentTranslate = s.startTranslate), 1592 !i.allowSlidePrev && 1593 "prev" === i.swipeDirection && 1594 s.currentTranslate > s.startTranslate && 1595 (s.currentTranslate = s.startTranslate), 1596 i.allowSlidePrev || 1597 i.allowSlideNext || 1598 (s.currentTranslate = s.startTranslate), 1599 l.threshold > 0) 1600 ) { 1601 if (Math.abs(w) > l.threshold || s.allowThresholdMove) { 1602 if (!s.allowThresholdMove) { 1603 ((s.allowThresholdMove = !0), 1604 (a.startX = a.currentX), 1605 (a.startY = a.currentY), 1606 (s.currentTranslate = s.startTranslate), 1607 (a.diff = i.isHorizontal() 1608 ? a.currentX - a.startX 1609 : a.currentY - a.startY)); 1610 return; 1611 } 1612 } else { 1613 s.currentTranslate = s.startTranslate; 1614 return; 1615 } 1616 } 1617 l.followFinger && 1618 !l.cssMode && 1619 (((l.freeMode && l.freeMode.enabled && i.freeMode) || 1620 l.watchSlidesProgress) && 1621 (i.updateActiveIndex(), i.updateSlidesClasses()), 1622 i.params.freeMode && 1623 l.freeMode.enabled && 1624 i.freeMode && 1625 i.freeMode.onTouchMove(), 1626 i.updateProgress(s.currentTranslate), 1627 i.setTranslate(s.currentTranslate)); 1628 } 1629 function P(e) { 1630 let t; 1631 let r = this, 1632 i = r.touchEventsData, 1633 s = i.evCache.findIndex((t) => t.pointerId === e.pointerId); 1634 if ( 1635 (s >= 0 && i.evCache.splice(s, 1), 1636 ["pointercancel", "pointerout", "pointerleave"].includes(e.type)) 1637 ) { 1638 let t = 1639 "pointercancel" === e.type && 1640 (r.browser.isSafari || r.browser.isWebView); 1641 if (!t) return; 1642 } 1643 let { 1644 params: l, 1645 touches: a, 1646 rtlTranslate: n, 1647 slidesGrid: o, 1648 enabled: d, 1649 } = r; 1650 if (!d || (!l.simulateTouch && "mouse" === e.pointerType)) return; 1651 let u = e; 1652 if ( 1653 (u.originalEvent && (u = u.originalEvent), 1654 i.allowTouchCallbacks && r.emit("touchEnd", u), 1655 (i.allowTouchCallbacks = !1), 1656 !i.isTouched) 1657 ) { 1658 (i.isMoved && l.grabCursor && r.setGrabCursor(!1), 1659 (i.isMoved = !1), 1660 (i.startMoving = !1)); 1661 return; 1662 } 1663 l.grabCursor && 1664 i.isMoved && 1665 i.isTouched && 1666 (!0 === r.allowSlideNext || !0 === r.allowSlidePrev) && 1667 r.setGrabCursor(!1); 1668 let p = h(), 1669 c = p - i.touchStartTime; 1670 if (r.allowClick) { 1671 let e = u.path || (u.composedPath && u.composedPath()); 1672 (r.updateClickedSlide((e && e[0]) || u.target), 1673 r.emit("tap click", u), 1674 c < 300 && 1675 p - i.lastClickTime < 300 && 1676 r.emit("doubleTap doubleClick", u)); 1677 } 1678 if ( 1679 ((i.lastClickTime = h()), 1680 f(() => { 1681 r.destroyed || (r.allowClick = !0); 1682 }), 1683 !i.isTouched || 1684 !i.isMoved || 1685 !r.swipeDirection || 1686 0 === a.diff || 1687 i.currentTranslate === i.startTranslate) 1688 ) { 1689 ((i.isTouched = !1), (i.isMoved = !1), (i.startMoving = !1)); 1690 return; 1691 } 1692 if ( 1693 ((i.isTouched = !1), 1694 (i.isMoved = !1), 1695 (i.startMoving = !1), 1696 (t = l.followFinger 1697 ? n 1698 ? r.translate 1699 : -r.translate 1700 : -i.currentTranslate), 1701 l.cssMode) 1702 ) 1703 return; 1704 if (r.params.freeMode && l.freeMode.enabled) { 1705 r.freeMode.onTouchEnd({ currentPos: t }); 1706 return; 1707 } 1708 let m = 0, 1709 v = r.slidesSizesGrid[0]; 1710 for ( 1711 let e = 0; 1712 e < o.length; 1713 e += e < l.slidesPerGroupSkip ? 1 : l.slidesPerGroup 1714 ) { 1715 let r = e < l.slidesPerGroupSkip - 1 ? 1 : l.slidesPerGroup; 1716 void 0 !== o[e + r] 1717 ? t >= o[e] && t < o[e + r] && ((m = e), (v = o[e + r] - o[e])) 1718 : t >= o[e] && ((m = e), (v = o[o.length - 1] - o[o.length - 2])); 1719 } 1720 let g = null, 1721 w = null; 1722 l.rewind && 1723 (r.isBeginning 1724 ? (w = 1725 r.params.virtual && r.params.virtual.enabled && r.virtual 1726 ? r.virtual.slides.length - 1 1727 : r.slides.length - 1) 1728 : r.isEnd && (g = 0)); 1729 let b = (t - o[m]) / v, 1730 S = m < l.slidesPerGroupSkip - 1 ? 1 : l.slidesPerGroup; 1731 if (c > l.longSwipesMs) { 1732 if (!l.longSwipes) { 1733 r.slideTo(r.activeIndex); 1734 return; 1735 } 1736 ("next" === r.swipeDirection && 1737 (b >= l.longSwipesRatio 1738 ? r.slideTo(l.rewind && r.isEnd ? g : m + S) 1739 : r.slideTo(m)), 1740 "prev" === r.swipeDirection && 1741 (b > 1 - l.longSwipesRatio 1742 ? r.slideTo(m + S) 1743 : null !== w && b < 0 && Math.abs(b) > l.longSwipesRatio 1744 ? r.slideTo(w) 1745 : r.slideTo(m))); 1746 } else { 1747 if (!l.shortSwipes) { 1748 r.slideTo(r.activeIndex); 1749 return; 1750 } 1751 let e = 1752 r.navigation && 1753 (u.target === r.navigation.nextEl || 1754 u.target === r.navigation.prevEl); 1755 e 1756 ? u.target === r.navigation.nextEl 1757 ? r.slideTo(m + S) 1758 : r.slideTo(m) 1759 : ("next" === r.swipeDirection && r.slideTo(null !== g ? g : m + S), 1760 "prev" === r.swipeDirection && r.slideTo(null !== w ? w : m)); 1761 } 1762 } 1763 function _() { 1764 let e = this, 1765 { params: t, el: r } = e; 1766 if (r && 0 === r.offsetWidth) return; 1767 t.breakpoints && e.setBreakpoint(); 1768 let { allowSlideNext: i, allowSlidePrev: s, snapGrid: l } = e, 1769 n = e.virtual && e.params.virtual.enabled; 1770 ((e.allowSlideNext = !0), 1771 (e.allowSlidePrev = !0), 1772 e.updateSize(), 1773 e.updateSlides(), 1774 e.updateSlidesClasses()); 1775 let o = n && t.loop; 1776 (("auto" !== t.slidesPerView && !(t.slidesPerView > 1)) || 1777 !e.isEnd || 1778 e.isBeginning || 1779 e.params.centeredSlides || 1780 o 1781 ? e.params.loop && !n 1782 ? e.slideToLoop(e.realIndex, 0, !1, !0) 1783 : e.slideTo(e.activeIndex, 0, !1, !0) 1784 : e.slideTo(e.slides.length - 1, 0, !1, !0), 1785 e.autoplay && 1786 e.autoplay.running && 1787 e.autoplay.paused && 1788 (clearTimeout(a), 1789 (a = setTimeout(() => { 1790 e.autoplay && 1791 e.autoplay.running && 1792 e.autoplay.paused && 1793 e.autoplay.resume(); 1794 }, 500))), 1795 (e.allowSlidePrev = s), 1796 (e.allowSlideNext = i), 1797 e.params.watchOverflow && l !== e.snapGrid && e.checkOverflow()); 1798 } 1799 function O(e) { 1800 this.enabled && 1801 !this.allowClick && 1802 (this.params.preventClicks && e.preventDefault(), 1803 this.params.preventClicksPropagation && 1804 this.animating && 1805 (e.stopPropagation(), e.stopImmediatePropagation())); 1806 } 1807 function k() { 1808 let e = this, 1809 { wrapperEl: t, rtlTranslate: r, enabled: i } = e; 1810 if (!i) return; 1811 ((e.previousTranslate = e.translate), 1812 e.isHorizontal() 1813 ? (e.translate = -t.scrollLeft) 1814 : (e.translate = -t.scrollTop), 1815 0 === e.translate && (e.translate = 0), 1816 e.updateActiveIndex(), 1817 e.updateSlidesClasses()); 1818 let s = e.maxTranslate() - e.minTranslate(); 1819 ((0 === s ? 0 : (e.translate - e.minTranslate()) / s) !== e.progress && 1820 e.updateProgress(r ? -e.translate : e.translate), 1821 e.emit("setTranslate", e.translate, !1)); 1822 } 1823 let L = (e, t) => { 1824 if (!e || e.destroyed || !e.params) return; 1825 let r = t.closest( 1826 e.isElement ? "swiper-slide" : `.${e.params.slideClass}`, 1827 ); 1828 if (r) { 1829 let t = r.querySelector(`.${e.params.lazyPreloaderClass}`); 1830 t && t.remove(); 1831 } 1832 }; 1833 function z(e) { 1834 (L(this, e.target), this.update()); 1835 } 1836 let A = !1; 1837 function I() {} 1838 let G = (e, t) => { 1839 let r = u(), 1840 { params: i, el: s, wrapperEl: l, device: a } = e, 1841 n = !!i.nested, 1842 o = "on" === t ? "addEventListener" : "removeEventListener"; 1843 (s[o]("pointerdown", e.onTouchStart, { passive: !1 }), 1844 r[o]("pointermove", e.onTouchMove, { passive: !1, capture: n }), 1845 r[o]("pointerup", e.onTouchEnd, { passive: !0 }), 1846 r[o]("pointercancel", e.onTouchEnd, { passive: !0 }), 1847 r[o]("pointerout", e.onTouchEnd, { passive: !0 }), 1848 r[o]("pointerleave", e.onTouchEnd, { passive: !0 }), 1849 (i.preventClicks || i.preventClicksPropagation) && 1850 s[o]("click", e.onClick, !0), 1851 i.cssMode && l[o]("scroll", e.onScroll), 1852 i.updateOnWindowResize 1853 ? e[t]( 1854 a.ios || a.android 1855 ? "resize orientationchange observerUpdate" 1856 : "resize observerUpdate", 1857 _, 1858 !0, 1859 ) 1860 : e[t]("observerUpdate", _, !0), 1861 s[o]("load", e.onLoad, { capture: !0 })); 1862 }, 1863 D = (e, t) => e.grid && t.grid && t.grid.rows > 1; 1864 var N = { 1865 init: !0, 1866 direction: "horizontal", 1867 oneWayMovement: !1, 1868 touchEventsTarget: "wrapper", 1869 initialSlide: 0, 1870 speed: 300, 1871 cssMode: !1, 1872 updateOnWindowResize: !0, 1873 resizeObserver: !0, 1874 nested: !1, 1875 createElements: !1, 1876 enabled: !0, 1877 focusableElements: 1878 "input, select, option, textarea, button, video, label", 1879 width: null, 1880 height: null, 1881 preventInteractionOnTransition: !1, 1882 userAgent: null, 1883 url: null, 1884 edgeSwipeDetection: !1, 1885 edgeSwipeThreshold: 20, 1886 autoHeight: !1, 1887 setWrapperSize: !1, 1888 virtualTranslate: !1, 1889 effect: "slide", 1890 breakpoints: void 0, 1891 breakpointsBase: "window", 1892 spaceBetween: 0, 1893 slidesPerView: 1, 1894 slidesPerGroup: 1, 1895 slidesPerGroupSkip: 0, 1896 slidesPerGroupAuto: !1, 1897 centeredSlides: !1,
1898 centeredSlidesBounds: !1, 1899 slidesOffsetBefore: 0, 1900 slidesOffsetAfter: 0, 1901 normalizeSlideIndex: !0, 1902 centerInsufficientSlides: !1, 1903 watchOverflow: !0, 1904 roundLengths: !1, 1905 touchRatio: 1, 1906 touchAngle: 45, 1907 simulateTouch: !0, 1908 shortSwipes: !0, 1909 longSwipes: !0, 1910 longSwipesRatio: 0.5, 1911 longSwipesMs: 300, 1912 followFinger: !0, 1913 allowTouchMove: !0, 1914 threshold: 5, 1915 touchMoveStopPropagation: !1, 1916 touchStartPreventDefault: !0, 1917 touchStartForcePreventDefault: !1, 1918 touchReleaseOnEdges: !1, 1919 uniqueNavElements: !0, 1920 resistance: !0, 1921 resistanceRatio: 0.85, 1922 watchSlidesProgress: !1, 1923 grabCursor: !1, 1924 preventClicks: !0, 1925 preventClicksPropagation: !0, 1926 slideToClickedSlide: !1, 1927 loop: !1, 1928 loopedSlides: null, 1929 loopPreventsSliding: !0, 1930 rewind: !1, 1931 allowSlidePrev: !0, 1932 allowSlideNext: !0, 1933 swipeHandler: null, 1934 noSwiping: !0, 1935 noSwipingClass: "swiper-no-swiping", 1936 noSwipingSelector: null, 1937 passiveListeners: !0, 1938 maxBackfaceHiddenSlides: 10, 1939 containerModifierClass: "swiper-", 1940 slideClass: "swiper-slide", 1941 slideActiveClass: "swiper-slide-active", 1942 slideVisibleClass: "swiper-slide-visible", 1943 slideNextClass: "swiper-slide-next", 1944 slidePrevClass: "swiper-slide-prev", 1945 wrapperClass: "swiper-wrapper", 1946 lazyPreloaderClass: "swiper-lazy-preloader", 1947 runCallbacksOnInit: !0, 1948 _emitClasses: !1, 1949 }; 1950 let j = { 1951 eventsEmitter: { 1952 on(e, t, r) { 1953 let i = this; 1954 if (!i.eventsListeners || i.destroyed || "function" != typeof t) 1955 return i; 1956 let s = r ? "unshift" : "push"; 1957 return ( 1958 e.split(" ").forEach((e) => { 1959 (i.eventsListeners[e] || (i.eventsListeners[e] = []), 1960 i.eventsListeners[e][s](t)); 1961 }), 1962 i 1963 ); 1964 }, 1965 once(e, t, r) { 1966 let i = this; 1967 if (!i.eventsListeners || i.destroyed || "function" != typeof t) 1968 return i; 1969 function s(...r) { 1970 (i.off(e, s), 1971 s.__emitterProxy && delete s.__emitterProxy, 1972 t.apply(i, r)); 1973 } 1974 return ((s.__emitterProxy = t), i.on(e, s, r)); 1975 }, 1976 onAny(e, t) { 1977 return ( 1978 !this.eventsListeners || 1979 this.destroyed || 1980 "function" != typeof e || 1981 (0 > this.eventsAnyListeners.indexOf(e) && 1982 this.eventsAnyListeners[t ? "unshift" : "push"](e)), 1983 this 1984 ); 1985 }, 1986 offAny(e) { 1987 if ( 1988 !this.eventsListeners || 1989 this.destroyed || 1990 !this.eventsAnyListeners 1991 ) 1992 return this; 1993 let t = this.eventsAnyListeners.indexOf(e); 1994 return (t >= 0 && this.eventsAnyListeners.splice(t, 1), this); 1995 }, 1996 off(e, t) { 1997 let r = this; 1998 return ( 1999 r.eventsListeners && 2000 !r.destroyed && 2001 r.eventsListeners && 2002 e.split(" ").forEach((e) => { 2003 void 0 === t 2004 ? (r.eventsListeners[e] = []) 2005 : r.eventsListeners[e] && 2006 r.eventsListeners[e].forEach((i, s) => { 2007 (i === t || 2008 (i.__emitterProxy && i.__emitterProxy === t)) && 2009 r.eventsListeners[e].splice(s, 1); 2010 }); 2011 }), 2012 r 2013 ); 2014 }, 2015 emit(...e) { 2016 let t, r, i; 2017 let s = this; 2018 if (!s.eventsListeners || s.destroyed || !s.eventsListeners) 2019 return s; 2020 ("string" == typeof e[0] || Array.isArray(e[0]) 2021 ? ((t = e[0]), (r = e.slice(1, e.length)), (i = s)) 2022 : ((t = e[0].events), (r = e[0].data), (i = e[0].context || s)), 2023 r.unshift(i)); 2024 let l = Array.isArray(t) ? t : t.split(" "); 2025 return ( 2026 l.forEach((e) => { 2027 (s.eventsAnyListeners && 2028 s.eventsAnyListeners.length &&
2029 s.eventsAnyListeners.forEach((t) => { 2030 t.apply(i, [e, ...r]); 2031 }), 2032 s.eventsListeners && 2033 s.eventsListeners[e] && 2034 s.eventsListeners[e].forEach((e) => { 2035 e.apply(i, r); 2036 })); 2037 }), 2038 s 2039 ); 2040 }, 2041 }, 2042 update: { 2043 updateSize: function () { 2044 let e, t; 2045 let r = this.el; 2046 ((e = 2047 void 0 !== this.params.width && null !== this.params.width 2048 ? this.params.width 2049 : r.clientWidth), 2050 (t = 2051 void 0 !== this.params.height && null !== this.params.height 2052 ? this.params.height 2053 : r.clientHeight), 2054 (0 === e && this.isHorizontal()) || 2055 (0 === t && this.isVertical()) || 2056 ((e = 2057 e - 2058 parseInt(S(r, "padding-left") || 0, 10) - 2059 parseInt(S(r, "padding-right") || 0, 10)), 2060 (t = 2061 t - 2062 parseInt(S(r, "padding-top") || 0, 10) - 2063 parseInt(S(r, "padding-bottom") || 0, 10)), 2064 Number.isNaN(e) && (e = 0), 2065 Number.isNaN(t) && (t = 0), 2066 Object.assign(this, { 2067 width: e, 2068 height: t, 2069 size: this.isHorizontal() ? e : t, 2070 }))); 2071 }, 2072 updateSlides: function () { 2073 let e; 2074 let t = this; 2075 function r(e) { 2076 return t.isHorizontal() 2077 ? e 2078 : { 2079 width: "height", 2080 "margin-top": "margin-left", 2081 "margin-bottom ": "margin-right", 2082 "margin-left": "margin-top", 2083 "margin-right": "margin-bottom", 2084 "padding-left": "padding-top", 2085 "padding-right": "padding-bottom", 2086 marginRight: "marginBottom", 2087 }[e]; 2088 } 2089 function i(e, t) { 2090 return parseFloat(e.getPropertyValue(r(t)) || 0); 2091 } 2092 let s = t.params, 2093 { 2094 wrapperEl: l, 2095 slidesEl: a, 2096 size: n, 2097 rtlTranslate: o, 2098 wrongRTL: d, 2099 } = t, 2100 u = t.virtual && s.virtual.enabled, 2101 p = u ? t.virtual.slides.length : t.slides.length, 2102 c = b(a, `.${t.params.slideClass}, swiper-slide`), 2103 f = u ? t.virtual.slides.length : c.length, 2104 h = [], 2105 m = [], 2106 v = [], 2107 w = s.slidesOffsetBefore; 2108 "function" == typeof w && (w = s.slidesOffsetBefore.call(t)); 2109 let y = s.slidesOffsetAfter; 2110 "function" == typeof y && (y = s.slidesOffsetAfter.call(t)); 2111 let E = t.snapGrid.length, 2112 x = t.slidesGrid.length, 2113 C = s.spaceBetween, 2114 M = -w, 2115 P = 0, 2116 _ = 0; 2117 if (void 0 === n) return; 2118 ("string" == typeof C && 2119 C.indexOf("%") >= 0 && 2120 (C = (parseFloat(C.replace("%", "")) / 100) * n), 2121 (t.virtualSize = -C), 2122 c.forEach((e) => { 2123 (o ? (e.style.marginLeft = "") : (e.style.marginRight = ""), 2124 (e.style.marginBottom = ""), 2125 (e.style.marginTop = "")); 2126 }), 2127 s.centeredSlides && 2128 s.cssMode && 2129 (g(l, "--swiper-centered-offset-before", ""), 2130 g(l, "--swiper-centered-offset-after", ""))); 2131 let O = s.grid && s.grid.rows > 1 && t.grid; 2132 O && t.grid.initSlides(f); 2133 let k = 2134 "auto" === s.slidesPerView && 2135 s.breakpoints && 2136 Object.keys(s.breakpoints).filter( 2137 (e) => void 0 !== s.breakpoints[e].slidesPerView, 2138 ).length > 0; 2139 for (let l = 0; l < f; l += 1) { 2140 let a; 2141 if ( 2142 ((e = 0), 2143 c[l] && (a = c[l]), 2144 O && t.grid.updateSlide(l, a, f, r), 2145 !c[l] || "none" !== S(a, "display")) 2146 ) { 2147 if ("auto" === s.slidesPerView) { 2148 k && (c[l].style[r("width")] = ""); 2149 let n = getComputedStyle(a), 2150 o = a.style.transform, 2151 d = a.style.webkitTransform; 2152 if ( 2153 (o && (a.style.transform = "none"), 2154 d && (a.style.webkitTransform = "none"), 2155 s.roundLengths) 2156 ) 2157 e = t.isHorizontal() 2158 ? T(a, "width", !0) 2159 : T(a, "height", !0); 2160 else { 2161 let t = i(n, "width"), 2162 r = i(n, "padding-left"), 2163 s = i(n, "padding-right"), 2164 l = i(n, "margin-left"), 2165 o = i(n, "margin-right"), 2166 d = n.getPropertyValue("box-sizing"); 2167 if (d && "border-box" === d) e = t + l + o; 2168 else { 2169 let { clientWidth: i, offsetWidth: n } = a; 2170 e = t + r + s + l + o + (n - i); 2171 } 2172 } 2173 (o && (a.style.transform = o), 2174 d && (a.style.webkitTransform = d), 2175 s.roundLengths && (e = Math.floor(e))); 2176 } else 2177 ((e = (n - (s.slidesPerView - 1) * C) / s.slidesPerView), 2178 s.roundLengths && (e = Math.floor(e)), 2179 c[l] && (c[l].style[r("width")] = `${e}px`)); 2180 (c[l] && (c[l].swiperSlideSize = e), 2181 v.push(e), 2182 s.centeredSlides 2183 ? ((M = M + e / 2 + P / 2 + C), 2184 0 === P && 0 !== l && (M = M - n / 2 - C), 2185 0 === l && (M = M - n / 2 - C), 2186 0.001 > Math.abs(M) && (M = 0), 2187 s.roundLengths && (M = Math.floor(M)), 2188 _ % s.slidesPerGroup == 0 && h.push(M), 2189 m.push(M)) 2190 : (s.roundLengths && (M = Math.floor(M)), 2191 (_ - Math.min(t.params.slidesPerGroupSkip, _)) % 2192 t.params.slidesPerGroup == 2193 0 && h.push(M), 2194 m.push(M),
2195 (M = M + e + C)), 2196 (t.virtualSize += e + C), 2197 (P = e), 2198 (_ += 1)); 2199 } 2200 } 2201 if ( 2202 ((t.virtualSize = Math.max(t.virtualSize, n) + y), 2203 o && 2204 d && 2205 ("slide" === s.effect || "coverflow" === s.effect) && 2206 (l.style.width = `${t.virtualSize + s.spaceBetween}px`), 2207 s.setWrapperSize && 2208 (l.style[r("width")] = `${t.virtualSize + s.spaceBetween}px`), 2209 O && t.grid.updateWrapperSize(e, h, r), 2210 !s.centeredSlides) 2211 ) { 2212 let e = []; 2213 for (let r = 0; r < h.length; r += 1) { 2214 let i = h[r]; 2215 (s.roundLengths && (i = Math.floor(i)), 2216 h[r] <= t.virtualSize - n && e.push(i)); 2217 } 2218 ((h = e), 2219 Math.floor(t.virtualSize - n) - Math.floor(h[h.length - 1]) > 2220 1 && h.push(t.virtualSize - n)); 2221 } 2222 if (u && s.loop) { 2223 let e = v[0] + C; 2224 if (s.slidesPerGroup > 1) { 2225 let r = Math.ceil( 2226 (t.virtual.slidesBefore + t.virtual.slidesAfter) / 2227 s.slidesPerGroup, 2228 ), 2229 i = e * s.slidesPerGroup; 2230 for (let e = 0; e < r; e += 1) h.push(h[h.length - 1] + i); 2231 } 2232 for ( 2233 let r = 0; 2234 r < t.virtual.slidesBefore + t.virtual.slidesAfter; 2235 r += 1 2236 ) 2237 (1 === s.slidesPerGroup && h.push(h[h.length - 1] + e), 2238 m.push(m[m.length - 1] + e), 2239 (t.virtualSize += e)); 2240 } 2241 if ((0 === h.length && (h = [0]), 0 !== s.spaceBetween)) { 2242 let e = t.isHorizontal() && o ? "marginLeft" : r("marginRight"); 2243 c.filter( 2244 (e, t) => !s.cssMode || !!s.loop || t !== c.length - 1, 2245 ).forEach((t) => { 2246 t.style[e] = `${C}px`; 2247 }); 2248 } 2249 if (s.centeredSlides && s.centeredSlidesBounds) { 2250 let e = 0; 2251 (v.forEach((t) => { 2252 e += t + (s.spaceBetween ? s.spaceBetween : 0); 2253 }), 2254 (e -= s.spaceBetween)); 2255 let t = e - n; 2256 h = h.map((e) => (e < 0 ? -w : e > t ? t + y : e)); 2257 } 2258 if (s.centerInsufficientSlides) { 2259 let e = 0; 2260 if ( 2261 (v.forEach((t) => { 2262 e += t + (s.spaceBetween ? s.spaceBetween : 0); 2263 }), 2264 (e -= s.spaceBetween) < n) 2265 ) { 2266 let t = (n - e) / 2; 2267 (h.forEach((e, r) => { 2268 h[r] = e - t; 2269 }), 2270 m.forEach((e, r) => { 2271 m[r] = e + t; 2272 })); 2273 } 2274 } 2275 if ( 2276 (Object.assign(t, { 2277 slides: c, 2278 snapGrid: h, 2279 slidesGrid: m, 2280 slidesSizesGrid: v, 2281 }), 2282 s.centeredSlides && s.cssMode && !s.centeredSlidesBounds) 2283 ) { 2284 (g(l, "--swiper-centered-offset-before", `${-h[0]}px`), 2285 g( 2286 l, 2287 "--swiper-centered-offset-after", 2288 `${t.size / 2 - v[v.length - 1] / 2}px`, 2289 )); 2290 let e = -t.snapGrid[0], 2291 r = -t.slidesGrid[0]; 2292 ((t.snapGrid = t.snapGrid.map((t) => t + e)), 2293 (t.slidesGrid = t.slidesGrid.map((e) => e + r))); 2294 } 2295 if ( 2296 (f !== p && t.emit("slidesLengthChange"), 2297 h.length !== E && 2298 (t.params.watchOverflow && t.checkOverflow(), 2299 t.emit("snapGridLengthChange")), 2300 m.length !== x && t.emit("slidesGridLengthChange"), 2301 s.watchSlidesProgress && t.updateSlidesOffset(), 2302 !u && 2303 !s.cssMode && 2304 ("slide" === s.effect || "fade" === s.effect)) 2305 ) { 2306 let e = `${s.containerModifierClass}backface-hidden`, 2307 r = t.el.classList.contains(e); 2308 f <= s.maxBackfaceHiddenSlides 2309 ? r || t.el.classList.add(e) 2310 : r && t.el.classList.remove(e); 2311 } 2312 }, 2313 updateAutoHeight: function (e) { 2314 let t; 2315 let r = this, 2316 i = [], 2317 s = r.virtual && r.params.virtual.enabled, 2318 l = 0; 2319 "number" == typeof e 2320 ? r.setTransition(e) 2321 : !0 === e && r.setTransition(r.params.speed); 2322 let a = (e) => 2323 s 2324 ? r.slides.filter( 2325 (t) => 2326 parseInt( 2327 t.getAttribute("data-swiper-slide-index"), 2328 10, 2329 ) === e, 2330 )[0] 2331 : r.slides[e]; 2332 if ( 2333 "auto" !== r.params.slidesPerView && 2334 r.params.slidesPerView > 1 2335 ) { 2336 if (r.params.centeredSlides)
2337 (r.visibleSlides || []).forEach((e) => { 2338 i.push(e); 2339 }); 2340 else 2341 for (t = 0; t < Math.ceil(r.params.slidesPerView); t += 1) { 2342 let e = r.activeIndex + t; 2343 if (e > r.slides.length && !s) break; 2344 i.push(a(e)); 2345 } 2346 } else i.push(a(r.activeIndex)); 2347 for (t = 0; t < i.length; t += 1) 2348 if (void 0 !== i[t]) { 2349 let e = i[t].offsetHeight; 2350 l = e > l ? e : l; 2351 } 2352 (l || 0 === l) && (r.wrapperEl.style.height = `${l}px`); 2353 }, 2354 updateSlidesOffset: function () { 2355 let e = this.slides, 2356 t = this.isElement 2357 ? this.isHorizontal() 2358 ? this.wrapperEl.offsetLeft 2359 : this.wrapperEl.offsetTop 2360 : 0; 2361 for (let r = 0; r < e.length; r += 1) 2362 e[r].swiperSlideOffset = 2363 (this.isHorizontal() ? e[r].offsetLeft : e[r].offsetTop) - t; 2364 }, 2365 updateSlidesProgress: function (e = (this && this.translate) || 0) { 2366 let t = this, 2367 r = t.params, 2368 { slides: i, rtlTranslate: s, snapGrid: l } = t; 2369 if (0 === i.length) return; 2370 void 0 === i[0].swiperSlideOffset && t.updateSlidesOffset(); 2371 let a = -e; 2372 (s && (a = e), 2373 i.forEach((e) => { 2374 e.classList.remove(r.slideVisibleClass); 2375 }), 2376 (t.visibleSlidesIndexes = []), 2377 (t.visibleSlides = [])); 2378 for (let e = 0; e < i.length; e += 1) { 2379 let n = i[e], 2380 o = n.swiperSlideOffset; 2381 r.cssMode && r.centeredSlides && (o -= i[0].swiperSlideOffset); 2382 let d = 2383 (a + (r.centeredSlides ? t.minTranslate() : 0) - o) / 2384 (n.swiperSlideSize + r.spaceBetween), 2385 u = 2386 (a - l[0] + (r.centeredSlides ? t.minTranslate() : 0) - o) / 2387 (n.swiperSlideSize + r.spaceBetween), 2388 p = -(a - o), 2389 c = p + t.slidesSizesGrid[e], 2390 f = 2391 (p >= 0 && p < t.size - 1) || 2392 (c > 1 && c <= t.size) || 2393 (p <= 0 && c >= t.size); 2394 (f && 2395 (t.visibleSlides.push(n), 2396 t.visibleSlidesIndexes.push(e), 2397 i[e].classList.add(r.slideVisibleClass)), 2398 (n.progress = s ? -d : d), 2399 (n.originalProgress = s ? -u : u)); 2400 } 2401 }, 2402 updateProgress: function (e) { 2403 let t = this; 2404 if (void 0 === e) { 2405 let r = t.rtlTranslate ? -1 : 1; 2406 e = (t && t.translate && t.translate * r) || 0; 2407 } 2408 let r = t.params, 2409 i = t.maxTranslate() - t.minTranslate(), 2410 { progress: s, isBeginning: l, isEnd: a, progressLoop: n } = t, 2411 o = l, 2412 d = a; 2413 if (0 === i) ((s = 0), (l = !0), (a = !0)); 2414 else { 2415 s = (e - t.minTranslate()) / i; 2416 let r = 1 > Math.abs(e - t.minTranslate()), 2417 n = 1 > Math.abs(e - t.maxTranslate()); 2418 ((l = r || s <= 0), 2419 (a = n || s >= 1), 2420 r && (s = 0), 2421 n && (s = 1)); 2422 } 2423 if (r.loop) { 2424 let r = t.getSlideIndex( 2425 t.slides.filter( 2426 (e) => "0" === e.getAttribute("data-swiper-slide-index"), 2427 )[0], 2428 ), 2429 i = t.getSlideIndex( 2430 t.slides.filter( 2431 (e) => 2432 1 * e.getAttribute("data-swiper-slide-index") == 2433 t.slides.length - 1, 2434 )[0], 2435 ), 2436 s = t.slidesGrid[r], 2437 l = t.slidesGrid[i], 2438 a = t.slidesGrid[t.slidesGrid.length - 1], 2439 o = Math.abs(e); 2440 (n = o >= s ? (o - s) / a : (o + a - l) / a) > 1 && (n -= 1); 2441 } 2442 (Object.assign(t, { 2443 progress: s, 2444 progressLoop: n, 2445 isBeginning: l, 2446 isEnd: a, 2447 }), 2448 (r.watchSlidesProgress || (r.centeredSlides && r.autoHeight)) && 2449 t.updateSlidesProgress(e), 2450 l && !o && t.emit("reachBeginning toEdge"), 2451 a && !d && t.emit("reachEnd toEdge"), 2452 ((o && !l) || (d && !a)) && t.emit("fromEdge"), 2453 t.emit("progress", s)); 2454 }, 2455 updateSlidesClasses: function () { 2456 let e; 2457 let { slides: t, params: r, slidesEl: i, activeIndex: s } = this, 2458 l = this.virtual && r.virtual.enabled, 2459 a = (e) => b(i, `.${r.slideClass}${e}, swiper-slide${e}`)[0]; 2460 if ( 2461 (t.forEach((e) => { 2462 e.classList.remove( 2463 r.slideActiveClass, 2464 r.slideNextClass, 2465 r.slidePrevClass, 2466 ); 2467 }), 2468 l) 2469 ) { 2470 if (r.loop) { 2471 let t = s - this.virtual.slidesBefore; 2472 (t < 0 && (t = this.virtual.slides.length + t), 2473 t >= this.virtual.slides.length && 2474 (t -= this.virtual.slides.length), 2475 (e = a(`[data-swiper-slide-index="${t}"]`))); 2476 } else e = a(`[data-swiper-slide-index="${s}"]`); 2477 } else e = t[s]; 2478 if (e) { 2479 e.classList.add(r.slideActiveClass); 2480 let i = (function (e, t) { 2481 let r = []; 2482 for (; e.nextElementSibling; ) { 2483 let i = e.nextElementSibling; 2484 (t ? i.matches(t) && r.push(i) : r.push(i), (e = i)); 2485 } 2486 return r; 2487 })(e, `.${r.slideClass}, swiper-slide`)[0]; 2488 (r.loop && !i && (i = t[0]), 2489 i && i.classList.add(r.slideNextClass)); 2490 let s = (function (e, t) { 2491 let r = []; 2492 for (; e.previousElementSibling; ) { 2493 let i = e.previousElementSibling; 2494 (t ? i.matches(t) && r.push(i) : r.push(i), (e = i)); 2495 } 2496 return r; 2497 })(e, `.${r.slideClass}, swiper-slide`)[0]; 2498 (r.loop, s && s.classList.add(r.slidePrevClass)); 2499 } 2500 this.emitSlidesClasses(); 2501 }, 2502 updateActiveIndex: function (e) { 2503 let t, r; 2504 let i = this, 2505 s = i.rtlTranslate ? i.translate : -i.translate, 2506 { 2507 snapGrid: l, 2508 params: a, 2509 activeIndex: n, 2510 realIndex: o, 2511 snapIndex: d, 2512 } = i, 2513 u = e, 2514 p = (e) => { 2515 let t = e - i.virtual.slidesBefore; 2516 return ( 2517 t < 0 && (t = i.virtual.slides.length + t), 2518 t >= i.virtual.slides.length && 2519 (t -= i.virtual.slides.length), 2520 t 2521 ); 2522 }; 2523 if ( 2524 (void 0 === u && 2525 (u = (function (e) { 2526 let t; 2527 let { slidesGrid: r, params: i } = e, 2528 s = e.rtlTranslate ? e.translate : -e.translate; 2529 for (let e = 0; e < r.length; e += 1) 2530 void 0 !== r[e + 1] 2531 ? s >= r[e] && s < r[e + 1] - (r[e + 1] - r[e]) / 2 2532 ? (t = e) 2533 : s >= r[e] && s < r[e + 1] && (t = e + 1) 2534 : s >= r[e] && (t = e); 2535 return ( 2536 i.normalizeSlideIndex && 2537 (t < 0 || void 0 === t) && 2538 (t = 0), 2539 t 2540 ); 2541 })(i)), 2542 l.indexOf(s) >= 0) 2543 ) 2544 t = l.indexOf(s); 2545 else { 2546 let e = Math.min(a.slidesPerGroupSkip, u); 2547 t = e + Math.floor((u - e) / a.slidesPerGroup); 2548 } 2549 if ((t >= l.length && (t = l.length - 1), u === n)) { 2550 (t !== d && ((i.snapIndex = t), i.emit("snapIndexChange")), 2551 i.params.loop && 2552 i.virtual && 2553 i.params.virtual.enabled && 2554 (i.realIndex = p(u))); 2555 return; 2556 } 2557 ((r = 2558 i.virtual && a.virtual.enabled && a.loop 2559 ? p(u) 2560 : i.slides[u] 2561 ? parseInt( 2562 i.slides[u].getAttribute("data-swiper-slide-index") || 2563 u, 2564 10, 2565 ) 2566 : u), 2567 Object.assign(i, { 2568 snapIndex: t, 2569 realIndex: r, 2570 previousIndex: n, 2571 activeIndex: u, 2572 }), 2573 i.emit("activeIndexChange"), 2574 i.emit("snapIndexChange"), 2575 o !== r && i.emit("realIndexChange"), 2576 (i.initialized || i.params.runCallbacksOnInit) && 2577 i.emit("slideChange")); 2578 }, 2579 updateClickedSlide: function (e) { 2580 let t; 2581 let r = this, 2582 i = r.params, 2583 s = e.closest(`.${i.slideClass}, swiper-slide`), 2584 l = !1; 2585 if (s) { 2586 for (let e = 0; e < r.slides.length; e += 1) 2587 if (r.slides[e] === s) { 2588 ((l = !0), (t = e)); 2589 break; 2590 } 2591 } 2592 if (s && l) 2593 ((r.clickedSlide = s), 2594 r.virtual && r.params.virtual.enabled 2595 ? (r.clickedIndex = parseInt( 2596 s.getAttribute("data-swiper-slide-index"), 2597 10, 2598 )) 2599 : (r.clickedIndex = t)); 2600 else { 2601 ((r.clickedSlide = void 0), (r.clickedIndex = void 0)); 2602 return; 2603 } 2604 i.slideToClickedSlide && 2605 void 0 !== r.clickedIndex && 2606 r.clickedIndex !== r.activeIndex && 2607 r.slideToClickedSlide(); 2608 }, 2609 }, 2610 translate: { 2611 getTranslate: function (e = this.isHorizontal() ? "x" : "y") { 2612 let { 2613 params: t, 2614 rtlTranslate: r, 2615 translate: i, 2616 wrapperEl: s, 2617 } = this; 2618 if (t.virtualTranslate) return r ? -i : i; 2619 if (t.cssMode) return i; 2620 let l = (function (e, t = "x") { 2621 let r, i, s; 2622 let l = c(), 2623 a = (function (e) { 2624 let t; 2625 let r = c(); 2626 return ( 2627 r.getComputedStyle && (t = r.getComputedStyle(e, null)), 2628 !t && e.currentStyle && (t = e.currentStyle), 2629 t || (t = e.style), 2630 t 2631 ); 2632 })(e, null); 2633 return ( 2634 l.WebKitCSSMatrix 2635 ? ((i = a.transform || a.webkitTransform).split(",") 2636 .length > 6 && 2637 (i = i 2638 .split(", ") 2639 .map((e) => e.replace(",", ".")) 2640 .join(", ")), 2641 (s = new l.WebKitCSSMatrix("none" === i ? "" : i))) 2642 : (r = (s = 2643 a.MozTransform || 2644 a.OTransform || 2645 a.MsTransform || 2646 a.msTransform || 2647 a.transform || 2648 a 2649 .getPropertyValue("transform") 2650 .replace("translate(", "matrix(1, 0, 0, 1,")) 2651 .toString() 2652 .split(",")), 2653 "x" === t && 2654 (i = l.WebKitCSSMatrix 2655 ? s.m41 2656 : 16 === r.length 2657 ? parseFloat(r[12]) 2658 : parseFloat(r[4])), 2659 "y" === t && 2660 (i = l.WebKitCSSMatrix 2661 ? s.m42 2662 : 16 === r.length 2663 ? parseFloat(r[13]) 2664 : parseFloat(r[5])), 2665 i || 0 2666 ); 2667 })(s, e); 2668 return (r && (l = -l), l || 0); 2669 }, 2670 setTranslate: function (e, t) { 2671 let r = this, 2672 { rtlTranslate: i, params: s, wrapperEl: l, progress: a } = r, 2673 n = 0, 2674 o = 0; 2675 (r.isHorizontal() ? (n = i ? -e : e) : (o = e), 2676 s.roundLengths && ((n = Math.floor(n)), (o = Math.floor(o))), 2677 s.cssMode 2678 ? (l[r.isHorizontal() ? "scrollLeft" : "scrollTop"] = 2679 r.isHorizontal() ? -n : -o) 2680 : s.virtualTranslate || 2681 (l.style.transform = `translate3d(${n}px, ${o}px, 0px)`), 2682 (r.previousTranslate = r.translate), 2683 (r.translate = r.isHorizontal() ? n : o)); 2684 let d = r.maxTranslate() - r.minTranslate(); 2685 ((0 === d ? 0 : (e - r.minTranslate()) / d) !== a && 2686 r.updateProgress(e), 2687 r.emit("setTranslate", r.translate, t)); 2688 }, 2689 minTranslate: function () { 2690 return -this.snapGrid[0]; 2691 }, 2692 maxTranslate: function () { 2693 return -this.snapGrid[this.snapGrid.length - 1]; 2694 }, 2695 translateTo: function ( 2696 e = 0, 2697 t = this.params.speed, 2698 r = !0, 2699 i = !0, 2700 s, 2701 ) { 2702 let l; 2703 let a = this, 2704 { params: n, wrapperEl: o } = a; 2705 if (a.animating && n.preventInteractionOnTransition) return !1; 2706 let d = a.minTranslate(), 2707 u = a.maxTranslate(); 2708 if ( 2709 ((l = i && e > d ? d : i && e < u ? u : e), 2710 a.updateProgress(l), 2711 n.cssMode) 2712 ) { 2713 let e = a.isHorizontal(); 2714 if (0 === t) o[e ? "scrollLeft" : "scrollTop"] = -l; 2715 else { 2716 if (!a.support.smoothScroll) 2717 return ( 2718 w({ 2719 swiper: a, 2720 targetPosition: -l, 2721 side: e ? "left" : "top", 2722 }), 2723 !0 2724 ); 2725 o.scrollTo({ [e ? "left" : "top"]: -l, behavior: "smooth" }); 2726 } 2727 return !0; 2728 } 2729 return ( 2730 0 === t 2731 ? (a.setTransition(0), 2732 a.setTranslate(l), 2733 r && 2734 (a.emit("beforeTransitionStart", t, s), 2735 a.emit("transitionEnd"))) 2736 : (a.setTransition(t), 2737 a.setTranslate(l), 2738 r && 2739 (a.emit("beforeTransitionStart", t, s), 2740 a.emit("transitionStart")), 2741 a.animating || 2742 ((a.animating = !0), 2743 a.onTranslateToWrapperTransitionEnd || 2744 (a.onTranslateToWrapperTransitionEnd = fun
2744ction (e) { 2745 a && 2746 !a.destroyed && 2747 e.target === this && 2748 (a.wrapperEl.removeEventListener( 2749 "transitionend", 2750 a.onTranslateToWrapperTransitionEnd, 2751 ), 2752 (a.onTranslateToWrapperTransitionEnd = null), 2753 delete a.onTranslateToWrapperTransitionEnd, 2754 r && a.emit("transitionEnd")); 2755 }), 2756 a.wrapperEl.addEventListener( 2757 "transitionend", 2758 a.onTranslateToWrapperTransitionEnd, 2759 ))), 2760 !0 2761 ); 2762 }, 2763 }, 2764 transition: { 2765 setTransition: function (e, t) { 2766 let r = this; 2767 (r.params.cssMode || 2768 (r.wrapperEl.style.transitionDuration = `${e}ms`), 2769 r.emit("setTransition", e, t)); 2770 }, 2771 transitionStart: function (e = !0, t) { 2772 let { params: r } = this; 2773 r.cssMode || 2774 (r.autoHeight && this.updateAutoHeight(), 2775 x({ 2776 swiper: this, 2777 runCallbacks: e, 2778 direction: t, 2779 step: "Start", 2780 })); 2781 }, 2782 transitionEnd: function (e = !0, t) { 2783 let r = this, 2784 { params: i } = r; 2785 ((r.animating = !1), 2786 i.cssMode || 2787 (r.setTransition(0), 2788 x({ 2789 swiper: r, 2790 runCallbacks: e, 2791 direction: t, 2792 step: "End", 2793 }))); 2794 }, 2795 }, 2796 slide: { 2797 slideTo: function (e = 0, t = this.params.speed, r = !0, i, s) { 2798 let l; 2799 "string" == typeof e && (e = parseInt(e, 10)); 2800 let a = this, 2801 n = e; 2802 n < 0 && (n = 0); 2803 let { 2804 params: o, 2805 snapGrid: d, 2806 slidesGrid: u, 2807 previousIndex: p, 2808 activeIndex: c, 2809 rtlTranslate: f, 2810 wrapperEl: h, 2811 enabled: m, 2812 } = a; 2813 if ( 2814 (a.animating && o.preventInteractionOnTransition) || 2815 (!m && !i && !s) 2816 ) 2817 return !1; 2818 let v = Math.min(a.params.slidesPerGroupSkip, n), 2819 g = v + Math.floor((n - v) / a.params.slidesPerGroup); 2820 g >= d.length && (g = d.length - 1); 2821 let b = -d[g]; 2822 if (o.normalizeSlideIndex) 2823 for (let e = 0; e < u.length; e += 1) { 2824 let t = -Math.floor(100 * b), 2825 r = Math.floor(100 * u[e]), 2826 i = Math.floor(100 * u[e + 1]); 2827 void 0 !== u[e + 1] 2828 ? t >= r && t < i - (i - r) / 2 2829 ? (n = e) 2830 : t >= r && t < i && (n = e + 1) 2831 : t >= r && (n = e); 2832 } 2833 if ( 2834 a.initialized && 2835 n !== c && 2836 ((!a.allowSlideNext && 2837 b < a.translate && 2838 b < a.minTranslate()) || 2839 (!a.allowSlidePrev && 2840 b > a.translate && 2841 b > a.maxTranslate() && 2842 (c || 0) !== n)) 2843 ) 2844 return !1; 2845 if ( 2846 (n !== (p || 0) && r && a.emit("beforeSlideChangeStart"), 2847 a.updateProgress(b), 2848 (l = n > c ? "next" : n < c ? "prev" : "reset"), 2849 (f && -b === a.translate) || (!f && b === a.translate)) 2850 ) 2851 return ( 2852 a.updateActiveIndex(n), 2853 o.autoHeight && a.updateAutoHeight(), 2854 a.updateSlidesClasses(), 2855 "slide" !== o.effect && a.setTranslate(b), 2856 "reset" !== l && 2857 (a.transitionStart(r, l), a.transitionEnd(r, l)), 2858 !1 2859 ); 2860 if (o.cssMode) { 2861 let e = a.isHorizontal(), 2862 r = f ? b : -b; 2863 if (0 === t) { 2864 let t = a.virtual && a.params.virtual.enabled; 2865 (t && 2866 ((a.wrapperEl.style.scrollSnapType = "none"), 2867 (a._immediateVirtual = !0)), 2868 t && 2869 !a._cssModeVirtualInitialSet && 2870 a.params.initialSlide > 0 2871 ? ((a._cssModeVirtualInitialSet = !0), 2872 requestAnimationFrame(() => { 2873 h[e ? "scrollLeft" : "scrollTop"] = r; 2874 })) 2875 : (h[e ? "scrollLeft" : "scrollTop"] = r), 2876 t && 2877 requestAnimationFrame(() => { 2878 ((a.wrapperEl.style.scrollSnapType = ""), 2879 (a._immediateVirtual = !1)); 2880 })); 2881 } else { 2882 if (!a.support.smoothScroll) 2883 return ( 2884 w({ 2885 swiper: a, 2886 targetPosition: r, 2887 side: e ? "left" : "top", 2888 }), 2889 !0 2890 ); 2891 h.scrollTo({ [e ? "left" : "top"]: r, behavior: "smooth" }); 2892 } 2893 return !0; 2894 } 2895 return ( 2896 a.setTransition(t), 2897 a.setTranslate(b), 2898 a.updateActiveIndex(n), 2899 a.updateSlidesClasses(), 2900 a.emit("beforeTransitionStart", t, i), 2901 a.transitionStart(r, l), 2902 0 === t 2903 ? a.transitionEnd(r, l) 2904 : a.animating || 2905 ((a.animating = !0), 2906 a.onSlideToWrapperTransitionEnd || 2907 (a.onSlideToWrapperTransitionEnd = function (e) { 2908 a && 2909 !a.destroyed && 2910 e.target === this && 2911 (a.wrapperEl.removeEventListener( 2912 "transitionend", 2913 a.onSlideToWrapperTransitionEnd, 2914 ), 2915 (a.onSlideToWrapperTransitionEnd = null),
2916 delete a.onSlideToWrapperTransitionEnd, 2917 a.transitionEnd(r, l)); 2918 }), 2919 a.wrapperEl.addEventListener( 2920 "transitionend", 2921 a.onSlideToWrapperTransitionEnd, 2922 )), 2923 !0 2924 ); 2925 }, 2926 slideToLoop: function (e = 0, t = this.params.speed, r = !0, i) { 2927 if ("string" == typeof e) { 2928 let t = parseInt(e, 10); 2929 e = t; 2930 } 2931 let s = e; 2932 return ( 2933 this.params.loop && 2934 (this.virtual && this.params.virtual.enabled 2935 ? (s += this.virtual.slidesBefore) 2936 : (s = this.getSlideIndex( 2937 this.slides.filter( 2938 (e) => 2939 1 * e.getAttribute("data-swiper-slide-index") === s, 2940 )[0], 2941 ))), 2942 this.slideTo(s, t, r, i) 2943 ); 2944 }, 2945 slideNext: function (e = this.params.speed, t = !0, r) { 2946 let i = this, 2947 { enabled: s, params: l, animating: a } = i; 2948 if (!s) return i; 2949 let n = l.slidesPerGroup; 2950 "auto" === l.slidesPerView && 2951 1 === l.slidesPerGroup && 2952 l.slidesPerGroupAuto && 2953 (n = Math.max(i.slidesPerViewDynamic("current", !0), 1)); 2954 let o = i.activeIndex < l.slidesPerGroupSkip ? 1 : n, 2955 d = i.virtual && l.virtual.enabled; 2956 if (l.loop) { 2957 if (a && !d && l.loopPreventsSliding) return !1; 2958 (i.loopFix({ direction: "next" }), 2959 (i._clientLeft = i.wrapperEl.clientLeft)); 2960 } 2961 return l.rewind && i.isEnd 2962 ? i.slideTo(0, e, t, r) 2963 : i.slideTo(i.activeIndex + o, e, t, r); 2964 }, 2965 slidePrev: function (e = this.params.speed, t = !0, r) { 2966 let i = this, 2967 { 2968 params: s, 2969 snapGrid: l, 2970 slidesGrid: a, 2971 rtlTranslate: n, 2972 enabled: o, 2973 animating: d, 2974 } = i; 2975 if (!o) return i; 2976 let u = i.virtual && s.virtual.enabled; 2977 if (s.loop) { 2978 if (d && !u && s.loopPreventsSliding) return !1; 2979 (i.loopFix({ direction: "prev" }), 2980 (i._clientLeft = i.wrapperEl.clientLeft)); 2981 } 2982 let p = n ? i.translate : -i.translate; 2983 function c(e) { 2984 return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e); 2985 } 2986 let f = c(p), 2987 h = l.map((e) => c(e)), 2988 m = l[h.indexOf(f) - 1]; 2989 if (void 0 === m && s.cssMode) { 2990 let e; 2991 (l.forEach((t, r) => { 2992 f >= t && (e = r); 2993 }), 2994 void 0 !== e && (m = l[e > 0 ? e - 1 : e])); 2995 } 2996 let v = 0; 2997 if ( 2998 (void 0 !== m && 2999 ((v = a.indexOf(m)) < 0 && (v = i.activeIndex - 1), 3000 "auto" === s.slidesPerView && 3001 1 === s.slidesPerGroup && 3002 s.slidesPerGroupAuto && 3003 (v = Math.max( 3004 (v = v - i.slidesPerViewDynamic("previous", !0) + 1), 3005 0, 3006 ))), 3007 s.rewind && i.isBeginning) 3008 ) { 3009 let s = 3010 i.params.virtual && i.params.virtual.enabled && i.virtual 3011 ? i.virtual.slides.length - 1 3012 : i.slides.length - 1; 3013 return i.slideTo(s, e, t, r); 3014 } 3015 return i.slideTo(v, e, t, r); 3016 }, 3017 slideReset: function (e = this.params.speed, t = !0, r) { 3018 return this.slideTo(this.activeIndex, e, t, r); 3019 }, 3020 slideToClosest: function ( 3021 e = this.params.speed, 3022 t = !0, 3023 r, 3024 i = 0.5, 3025 ) { 3026 let s = this.activeIndex, 3027 l = Math.min(this.params.slidesPerGroupSkip, s), 3028 a = l + Math.floor((s - l) / this.params.slidesPerGroup), 3029 n = this.rtlTranslate ? this.translate : -this.translate; 3030 if (n >= this.snapGrid[a]) { 3031 let e = this.snapGrid[a], 3032 t = this.snapGrid[a + 1]; 3033 n - e > (t - e) * i && (s += this.params.slidesPerGroup); 3034 } else { 3035 let e = this.snapGrid[a - 1], 3036 t = this.snapGrid[a]; 3037 n - e <= (t - e) * i && (s -= this.params.slidesPerGroup); 3038 } 3039 return ( 3040 (s = Math.min( 3041 (s = Math.max(s, 0)), 3042 this.slidesGrid.length - 1, 3043 )), 3044 this.slideTo(s, e, t, r) 3045 ); 3046 }, 3047 slideToClickedSlide: function () { 3048 let e; 3049 let t = this, 3050 { params: r, slidesEl: i } = t, 3051 s = 3052 "auto" === r.slidesPerView 3053 ? t.slidesPerViewDynamic() 3054 : r.slidesPerView, 3055 l = t.clickedIndex, 3056 a = t.isElement ? "swiper-slide" : `.${r.slideClass}`; 3057 if (r.loop) { 3058 if (t.animating) return; 3059 ((e = parseInt( 3060 t.clickedSlide.getAttribute("data-swiper-slide-index"), 3061 10, 3062 )), 3063 r.centeredSlides 3064 ? l < t.loopedSlides - s / 2 || 3065 l > t.slides.length - t.loopedSlides + s / 2 3066 ? (t.loopFix(), 3067 (l = t.getSlideIndex( 3068 b(i, `${a}[data-swiper-slide-index="${e}"]`)[0], 3069 )), 3070 f(() => { 3071 t.slideTo(l); 3072 })) 3073 : t.slideTo(l) 3074 : l > t.slides.length - s 3075 ? (t.loopFix(), 3076 (l = t.getSlideIndex( 3077 b(i, `${a}[data-swiper-slide-index="${e}"]`)[0], 3078 )), 3079 f(() => { 3080 t.slideTo(l); 3081 })) 3082 : t.slideTo(l)); 3083 } else t.slideTo(l); 3084 }, 3085 }, 3086 loop: { 3087 loopCreate: function (e) { 3088 let { params: t, slidesEl: r } = this; 3089 if (!t.loop || (this.virtual && this.params.virtual.enabled)) 3090 return; 3091 let i = b(r, `.${t.slideClass}, swiper-slide`); 3092 (i.forEach((e, t) => { 3093 e.setAttribute("data-swiper-slide-index", t); 3094 }), 3095 this.loopFix({ 3096 slideRealIndex: e, 3097 direction: t.centeredSlides ? void 0 : "next", 3098 })); 3099 }, 3100 loopFix: function ({ 3101 slideRealIndex: e, 3102 slideTo: t = !0, 3103 direction: r, 3104 setTranslate: i, 3105 activeSlideIndex: s, 3106 byController: l, 3107 byMousewheel: a, 3108 } = {}) { 3109 let n = this; 3110 if (!n.params.loop) return; 3111 n.emit("beforeLoopFix"); 3112 let { 3113 slides: o, 3114 allowSlidePrev: d, 3115 allowSlideNext: u, 3116 slidesEl: p, 3117 params: c, 3118 } = n; 3119 if ( 3120 ((n.allowSlidePrev = !0), 3121 (n.allowSlideNext = !0), 3122 n.virtual && c.virtual.enabled) 3123 ) { 3124 (t && 3125 (c.centeredSlides || 0 !== n.snapIndex 3126 ? c.centeredSlides && n.snapIndex < c.slidesPerView 3127 ? n.slideTo( 3128 n.virtual.slides.length + n.snapIndex, 3129 0, 3130 !1, 3131 !0, 3132 ) 3133 : n.snapIndex === n.snapGrid.length - 1 && 3134 n.slideTo(n.virtual.slidesBefore, 0, !1, !0) 3135 : n.slideTo(n.virtual.slides.length, 0, !1, !0)), 3136 (n.allowSlidePrev = d), 3137 (n.allowSlideNext = u), 3138 n.emit("loopFix")); 3139 return; 3140 } 3141 let f = 3142 "auto" === c.slidesPerView 3143 ? n.slidesPerViewDynamic()
3144 : Math.ceil(parseFloat(c.slidesPerView, 10)), 3145 h = c.loopedSlides || f; 3146 (h % c.slidesPerGroup != 0 && 3147 (h += c.slidesPerGroup - (h % c.slidesPerGroup)), 3148 (n.loopedSlides = h)); 3149 let m = [], 3150 v = [], 3151 g = n.activeIndex; 3152 void 0 === s 3153 ? (s = n.getSlideIndex( 3154 n.slides.filter((e) => 3155 e.classList.contains("swiper-slide-active"), 3156 )[0], 3157 )) 3158 : (g = s); 3159 let w = "next" === r || !r, 3160 b = "prev" === r || !r, 3161 S = 0, 3162 y = 0; 3163 if (s < h) { 3164 S = Math.max(h - s, c.slidesPerGroup); 3165 for (let e = 0; e < h - s; e += 1) { 3166 let t = e - Math.floor(e / o.length) * o.length; 3167 m.push(o.length - t - 1); 3168 } 3169 } else if (s > n.slides.length - 2 * h) { 3170 y = Math.max(s - (n.slides.length - 2 * h), c.slidesPerGroup); 3171 for (let e = 0; e < y; e += 1) { 3172 let t = e - Math.floor(e / o.length) * o.length; 3173 v.push(t); 3174 } 3175 } 3176 if ( 3177 (b && 3178 m.forEach((e) => { 3179 p.prepend(n.slides[e]); 3180 }), 3181 w && 3182 v.forEach((e) => { 3183 p.append(n.slides[e]); 3184 }), 3185 n.recalcSlides(), 3186 c.watchSlidesProgress && n.updateSlidesOffset(), 3187 t) 3188 ) { 3189 if (m.length > 0 && b) { 3190 if (void 0 === e) { 3191 let e = n.slidesGrid[g], 3192 t = n.slidesGrid[g + S], 3193 r = t - e; 3194 a 3195 ? n.setTranslate(n.translate - r) 3196 : (n.slideTo(g + S, 0, !1, !0), 3197 i && 3198 (n.touches[n.isHorizontal() ? "startX" : "startY"] += 3199 r)); 3200 } else i && n.slideToLoop(e, 0, !1, !0); 3201 } else if (v.length > 0 && w) { 3202 if (void 0 === e) { 3203 let e = n.slidesGrid[g], 3204 t = n.slidesGrid[g - y], 3205 r = t - e; 3206 a 3207 ? n.setTranslate(n.translate - r) 3208 : (n.slideTo(g - y, 0, !1, !0), 3209 i && 3210 (n.touches[n.isHorizontal() ? "startX" : "startY"] += 3211 r)); 3212 } else n.slideToLoop(e, 0, !1, !0); 3213 } 3214 } 3215 if ( 3216 ((n.allowSlidePrev = d), 3217 (n.allowSlideNext = u), 3218 n.controller && n.controller.control && !l) 3219 ) { 3220 let t = { 3221 slideRealIndex: e, 3222 slideTo: !1, 3223 direction: r, 3224 setTranslate: i, 3225 activeSlideIndex: s, 3226 byController: !0, 3227 }; 3228 Array.isArray(n.controller.control) 3229 ? n.controller.control.forEach((e) => { 3230 e.params.loop && e.loopFix(t); 3231 }) 3232 : n.controller.control instanceof n.constructor && 3233 n.controller.control.params.loop && 3234 n.controller.control.loopFix(t); 3235 } 3236 n.emit("loopFix"); 3237 }, 3238 loopDestroy: function () { 3239 let { slides: e, params: t, slidesEl: r } = this; 3240 if (!t.loop || (this.virtual && this.params.virtual.enabled)) 3241 return; 3242 this.recalcSlides(); 3243 let i = []; 3244 (e.forEach((e) => { 3245 let t = 3246 void 0 === e.swiperSlideIndex 3247 ? 1 * e.getAttribute("data-swiper-slide-index") 3248 : e.swiperSlideIndex; 3249 i[t] = e; 3250 }), 3251 e.forEach((e) => { 3252 e.removeAttribute("data-swiper-slide-index"); 3253 }),
3254 i.forEach((e) => { 3255 r.append(e); 3256 }), 3257 this.recalcSlides(), 3258 this.slideTo(this.realIndex, 0)); 3259 }, 3260 }, 3261 grabCursor: { 3262 setGrabCursor: function (e) { 3263 let t = this; 3264 if ( 3265 !t.params.simulateTouch || 3266 (t.params.watchOverflow && t.isLocked) || 3267 t.params.cssMode 3268 ) 3269 return; 3270 let r = 3271 "container" === t.params.touchEventsTarget ? t.el : t.wrapperEl; 3272 (t.isElement && (t.__preventObserver__ = !0), 3273 (r.style.cursor = "move"), 3274 (r.style.cursor = e ? "grabbing" : "grab"), 3275 t.isElement && 3276 requestAnimationFrame(() => { 3277 t.__preventObserver__ = !1; 3278 })); 3279 }, 3280 unsetGrabCursor: function () { 3281 let e = this; 3282 (e.params.watchOverflow && e.isLocked) || 3283 e.params.cssMode || 3284 (e.isElement && (e.__preventObserver__ = !0), 3285 (e[ 3286 "container" === e.params.touchEventsTarget 3287 ? "el" 3288 : "wrapperEl" 3289 ].style.cursor = ""), 3290 e.isElement && 3291 requestAnimationFrame(() => { 3292 e.__preventObserver__ = !1; 3293 })); 3294 }, 3295 }, 3296 events: { 3297 attachEvents: function () { 3298 let e = this, 3299 t = u(), 3300 { params: r } = e; 3301 ((e.onTouchStart = C.bind(e)), 3302 (e.onTouchMove = M.bind(e)), 3303 (e.onTouchEnd = P.bind(e)), 3304 r.cssMode && (e.onScroll = k.bind(e)), 3305 (e.onClick = O.bind(e)), 3306 (e.onLoad = z.bind(e)), 3307 A || (t.addEventListener("touchstart", I), (A = !0)), 3308 G(e, "on")); 3309 }, 3310 detachEvents: function () { 3311 G(this, "off"); 3312 }, 3313 }, 3314 breakpoints: { 3315 setBreakpoint: function () { 3316 let e = this, 3317 { realIndex: t, initialized: r, params: i, el: s } = e, 3318 l = i.breakpoints; 3319 if (!l || (l && 0 === Object.keys(l).length)) return;
3320 let a = e.getBreakpoint(l, e.params.breakpointsBase, e.el); 3321 if (!a || e.currentBreakpoint === a) return; 3322 let n = a in l ? l[a] : void 0, 3323 o = n || e.originalParams, 3324 d = D(e, i), 3325 u = D(e, o), 3326 p = i.enabled; 3327 (d && !u 3328 ? (s.classList.remove( 3329 `${i.containerModifierClass}grid`, 3330 `${i.containerModifierClass}grid-column`, 3331 ), 3332 e.emitContainerClasses()) 3333 : !d && 3334 u && 3335 (s.classList.add(`${i.containerModifierClass}grid`), 3336 ((o.grid.fill && "column" === o.grid.fill) || 3337 (!o.grid.fill && "column" === i.grid.fill)) && 3338 s.classList.add(`${i.containerModifierClass}grid-column`), 3339 e.emitContainerClasses()), 3340 ["navigation", "pagination", "scrollbar"].forEach((t) => { 3341 let r = i[t] && i[t].enabled, 3342 s = o[t] && o[t].enabled; 3343 (r && !s && e[t].disable(), !r && s && e[t].enable()); 3344 })); 3345 let c = o.direction && o.direction !== i.direction, 3346 f = i.loop && (o.slidesPerView !== i.slidesPerView || c); 3347 (c && r && e.changeDirection(), v(e.params, o)); 3348 let h = e.params.enabled; 3349 (Object.assign(e, { 3350 allowTouchMove: e.params.allowTouchMove, 3351 allowSlideNext: e.params.allowSlideNext, 3352 allowSlidePrev: e.params.allowSlidePrev, 3353 }), 3354 p && !h ? e.disable() : !p && h && e.enable(), 3355 (e.currentBreakpoint = a), 3356 e.emit("_beforeBreakpoint", o), 3357 f && r && (e.loopDestroy(), e.loopCreate(t), e.updateSlides()), 3358 e.emit("breakpoint", o)); 3359 }, 3360 getBreakpoint: function (e, t = "window", r) { 3361 if (!e || ("container" === t && !r)) return; 3362 let i = !1, 3363 s = c(), 3364 l = "window" === t ? s.innerHeight : r.clientHeight, 3365 a = Object.keys(e).map((e) => { 3366 if ("string" == typeof e && 0 === e.indexOf("@")) { 3367 let t = parseFloat(e.substr(1)); 3368 return { value: l * t, point: e }; 3369 } 3370 return { value: e, point: e }; 3371 }); 3372 a.sort((e, t) => parseInt(e.value, 10) - parseInt(t.value, 10)); 3373 for (let e = 0; e < a.length; e += 1) { 3374 let { point: l, value: n } = a[e]; 3375 "window" === t 3376 ? s.matchMedia(`(min-width: ${n}px)`).matches && (i = l) 3377 : n <= r.clientWidth && (i = l); 3378 } 3379 return i || "max"; 3380 }, 3381 }, 3382 checkOverflow: { 3383 checkOverflow: function () { 3384 let e = this, 3385 { isLocked: t, params: r } = e, 3386 { slidesOffsetBefore: i } = r; 3387 if (i) { 3388 let t = e.slides.length - 1, 3389 r = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * i; 3390 e.isLocked = e.size > r; 3391 } else e.isLocked = 1 === e.snapGrid.length; 3392 (!0 === r.allowSlideNext && (e.allowSlideNext = !e.isLocked), 3393 !0 === r.allowSlidePrev && (e.allowSlidePrev = !e.isLocked), 3394 t && t !== e.isLocked && (e.isEnd = !1), 3395 t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock")); 3396 }, 3397 }, 3398 classes: { 3399 addClasses: function () { 3400 let { classNames: e, params: t, rtl: r, el: i, device: s } = this, 3401 l = (function (e, t) { 3402 let r = []; 3403 return ( 3404 e.forEach((e) => { 3405 "object" == typeof e 3406 ? Object.keys(e).forEach((i) => { 3407 e[i] && r.push(t + i); 3408 }) 3409 : "string" == typeof e && r.push(t + e); 3410 }), 3411 r 3412 ); 3413 })( 3414 [ 3415 "initialized", 3416 t.direction, 3417 { "free-mode": this.params.freeMode && t.freeMode.enabled }, 3418 { autoheight: t.autoHeight }, 3419 { rtl: r }, 3420 { grid: t.grid && t.grid.rows > 1 }, 3421 { 3422 "grid-column": 3423 t.grid && t.grid.rows > 1 && "column" === t.grid.fill, 3424 }, 3425 { android: s.android }, 3426 { ios: s.ios }, 3427 { "css-mode": t.cssMode }, 3428 { centered: t.cssMode && t.centeredSlides }, 3429 { "watch-progress": t.watchSlidesProgress }, 3430 ], 3431 t.containerModifierClass, 3432 ); 3433 (e.push(...l), 3434 i.classList.add(...e), 3435 this.emitContainerClasses()); 3436 }, 3437 removeClasses: function () { 3438 let { el: e, classNames: t } = this; 3439 (e.classList.remove(...t), this.emitContainerClasses()); 3440 }, 3441 }, 3442 }, 3443 $ = {}; 3444 class F { 3445 constructor(...e) { 3446 let t, r; 3447 (1 === e.length && 3448 e[0].constructor && 3449 "Object" === Object.prototype.toString.call(e[0]).slice(8, -1) 3450 ? (r = e[0]) 3451 : ([t, r] = e), 3452 r || (r = {}), 3453 (r = v({}, r)), 3454 t && !r.el && (r.el = t)); 3455 let i = u(); 3456 if ( 3457 r.el && 3458 "string" == typeof r.el && 3459 i.querySelectorAll(r.el).length > 1 3460 ) { 3461 let e = []; 3462 return ( 3463 i.querySelectorAll(r.el).forEach((t) => { 3464 let i = v({}, r, { el: t }); 3465 e.push(new F(i)); 3466 }), 3467 e 3468 ); 3469 } 3470 let a = this; 3471 ((a.__swiper__ = !0), 3472 (a.support = E()), 3473 (a.device = (function (e = {}) { 3474 return ( 3475 s || 3476 (s = (function ({ userAgent: e } = {}) { 3477 let t = E(), 3478 r = c(), 3479 i = r.navigator.platform, 3480 s = e || r.navigator.userAgent, 3481 l = { ios: !1, android: !1 }, 3482 a = r.screen.width, 3483 n = r.screen.height, 3484 o = s.match(/(Android);?[\s\/]+([\d.]+)?/), 3485 d = s.match(/(iPad).*OS\s([\d_]+)/), 3486 u = s.match(/(iPod)(.*OS\s([\d_]+))?/), 3487 p = !d && s.match(/(iPhone\sOS|iOS)\s([\d_]+)/), 3488 f = "MacIntel" === i; 3489 return ( 3490 !d && 3491 f && 3492 t.touch && 3493 [ 3494 "1024x1366", 3495 "1366x1024", 3496 "834x1194", 3497 "1194x834", 3498 "834x1112", 3499 "1112x834", 3500 "768x1024", 3501 "1024x768", 3502 "820x1180", 3503 "1180x820", 3504 "810x1080", 3505 "1080x810", 3506 ].indexOf(`${a}x${n}`) >= 0 && 3507 ((d = s.match(/(Version)\/([\d.]+)/)) || 3508 (d = [0, 1, "13_0_0"]), 3509 (f = !1)), 3510 o && 3511 "Win32" !== i && 3512 ((l.os = "android"), (l.android = !0)), 3513 (d || p || u) && ((l.os = "ios"), (l.ios = !0)), 3514 l 3515 ); 3516 })(e)), 3517 s 3518 ); 3519 })({ userAgent: r.userAgent })), 3520 (a.browser = 3521 (l || 3522 (l = (function () { 3523 let e = c(), 3524 t = !1; 3525 function r() { 3526 let t = e.navigator.userAgent.toLowerCase(); 3527 return ( 3528 t.indexOf("safari") >= 0 && 3529 0 > t.indexOf("chrome") && 3530 0 > t.indexOf("android") 3531 ); 3532 } 3533 if (r()) { 3534 let r = String(e.navigator.userAgent); 3535 if (r.includes("Version/")) { 3536 let [e, i] = r 3537 .split("Version/")[1] 3538 .split(" ")[0] 3539 .split(".") 3540 .map((e) => Number(e)); 3541 t = e < 16 || (16 === e && i < 2); 3542 } 3543 } 3544 return { 3545 isSafari: t || r(), 3546 needPerspectiveFix: t, 3547 isWebView:
3548 /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test( 3549 e.navigator.userAgent, 3550 ), 3551 }; 3552 })()), 3553 l)), 3554 (a.eventsListeners = {}), 3555 (a.eventsAnyListeners = []), 3556 (a.modules = [...a.__modules__]), 3557 r.modules && 3558 Array.isArray(r.modules) && 3559 a.modules.push(...r.modules)); 3560 let n = {}; 3561 a.modules.forEach((e) => { 3562 var t; 3563 e({ 3564 params: r, 3565 swiper: a, 3566 extendParams: 3567 ((t = r), 3568 function (e = {}) { 3569 let r = Object.keys(e)[0], 3570 i = e[r]; 3571 if ( 3572 "object" != typeof i || 3573 null === i || 3574 (["navigation", "pagination", "scrollbar"].indexOf(r) >= 3575 0 && 3576 !0 === t[r] && 3577 (t[r] = { auto: !0 }), 3578 !(r in t && "enabled" in i)) 3579 ) { 3580 v(n, e); 3581 return; 3582 } 3583 (!0 === t[r] && (t[r] = { enabled: !0 }), 3584 "object" != typeof t[r] || 3585 "enabled" in t[r] || 3586 (t[r].enabled = !0), 3587 t[r] || (t[r] = { enabled: !1 }), 3588 v(n, e)); 3589 }), 3590 on: a.on.bind(a), 3591 once: a.once.bind(a), 3592 off: a.off.bind(a), 3593 emit: a.emit.bind(a), 3594 }); 3595 }); 3596 let o = v({}, N, n); 3597 return ( 3598 (a.params = v({}, o, $, r)), 3599 (a.originalParams = v({}, a.params)), 3600 (a.passedParams = v({}, r)), 3601 a.params && 3602 a.params.on &&
3603 Object.keys(a.params.on).forEach((e) => { 3604 a.on(e, a.params.on[e]); 3605 }), 3606 a.params && a.params.onAny && a.onAny(a.params.onAny), 3607 Object.assign(a, { 3608 enabled: a.params.enabled, 3609 el: t, 3610 classNames: [], 3611 slides: [], 3612 slidesGrid: [], 3613 snapGrid: [], 3614 slidesSizesGrid: [], 3615 isHorizontal: () => "horizontal" === a.params.direction, 3616 isVertical: () => "vertical" === a.params.direction, 3617 activeIndex: 0, 3618 realIndex: 0, 3619 isBeginning: !0, 3620 isEnd: !1, 3621 translate: 0, 3622 previousTranslate: 0, 3623 progress: 0, 3624 velocity: 0, 3625 animating: !1, 3626 allowSlideNext: a.params.allowSlideNext, 3627 allowSlidePrev: a.params.allowSlidePrev, 3628 touchEventsData: { 3629 isTouched: void 0, 3630 isMoved: void 0, 3631 allowTouchCallbacks: void 0, 3632 touchStartTime: void 0, 3633 isScrolling: void 0, 3634 currentTranslate: void 0, 3635 startTranslate: void 0, 3636 allowThresholdMove: void 0, 3637 focusableElements: a.params.focusableElements, 3638 lastClickTime: h(), 3639 clickTimeout: void 0, 3640 velocities: [], 3641 allowMomentumBounce: void 0, 3642 startMoving: void 0, 3643 evCache: [], 3644 }, 3645 allowClick: !0, 3646 allowTouchMove: a.params.allowTouchMove, 3647 touches: { 3648 startX: 0, 3649 startY: 0, 3650 currentX: 0, 3651 currentY: 0, 3652 diff: 0, 3653 }, 3654 imagesToLoad: [], 3655 imagesLoaded: 0, 3656 }), 3657 a.emit("_swiper"), 3658 a.params.init && a.init(), 3659 a 3660 ); 3661 } 3662 getSlideIndex(e) { 3663 let { slidesEl: t, params: r } = this, 3664 i = b(t, `.${r.slideClass}, swiper-slide`), 3665 s = y(i[0]); 3666 return y(e) - s; 3667 } 3668 recalcSlides() { 3669 let e = this, 3670 { slidesEl: t, params: r } = e; 3671 e.slides = b(t, `.${r.slideClass}, swiper-slide`); 3672 } 3673 enable() { 3674 let e = this; 3675 e.enabled || 3676 ((e.enabled = !0), 3677 e.params.grabCursor && e.setGrabCursor(), 3678 e.emit("enable")); 3679 } 3680 disable() { 3681 let e = this; 3682 e.enabled && 3683 ((e.enabled = !1), 3684 e.params.grabCursor && e.unsetGrabCursor(), 3685 e.emit("disable")); 3686 } 3687 setProgress(e, t) { 3688 e = Math.min(Math.max(e, 0), 1); 3689 let r = this.minTranslate(), 3690 i = this.maxTranslate(), 3691 s = (i - r) * e + r; 3692 (this.translateTo(s, void 0 === t ? 0 : t), 3693 this.updateActiveIndex(), 3694 this.updateSlidesClasses()); 3695 } 3696 emitContainerClasses() { 3697 let e = this; 3698 if (!e.params._emitClasses || !e.el) return; 3699 let t = e.el.className 3700 .split(" ") 3701 .filter( 3702 (t) => 3703 0 === t.indexOf("swiper") || 3704 0 === t.indexOf(e.params.containerModifierClass), 3705 ); 3706 e.emit("_containerClasses", t.join(" ")); 3707 } 3708 getSlideClasses(e) { 3709 let t = this; 3710 return t.destroyed 3711 ? "" 3712 : e.className 3713 .split(" ") 3714 .filter( 3715 (e) => 3716 0 === e.indexOf("swiper-slide") || 3717 0 === e.indexOf(t.params.slideClass), 3718 ) 3719 .join(" "); 3720 } 3721 emitSlidesClasses() { 3722 let e = this; 3723 if (!e.params._emitClasses || !e.el) return; 3724 let t = []; 3725 (e.slides.forEach((r) => { 3726 let i = e.getSlideClasses(r); 3727 (t.push({ slideEl: r, classNames: i }), 3728 e.emit("_slideClass", r, i)); 3729 }), 3730 e.emit("_slideClasses", t)); 3731 } 3732 slidesPerViewDynamic(e = "current", t = !1) { 3733 let { 3734 params: r, 3735 slides: i, 3736 slidesGrid: s, 3737 slidesSizesGrid: l, 3738 size: a, 3739 activeIndex: n, 3740 } = this, 3741 o = 1; 3742 if (r.centeredSlides) { 3743 let e, 3744 t = i[n].swiperSlideSize; 3745 for (let r = n + 1; r < i.length; r += 1) 3746 i[r] && 3747 !e && 3748 ((t += i[r].swiperSlideSize), (o += 1), t > a && (e = !0)); 3749 for (let r = n - 1; r >= 0; r -= 1) 3750 i[r] && 3751 !e && 3752 ((t += i[r].swiperSlideSize), (o += 1), t > a && (e = !0)); 3753 } else if ("current" === e) 3754 for (let e = n + 1; e < i.length; e += 1) { 3755 let r = t ? s[e] + l[e] - s[n] < a : s[e] - s[n] < a; 3756 r && (o += 1); 3757 } 3758 else 3759 for (let e = n - 1; e >= 0; e -= 1) { 3760 let t = s[n] - s[e] < a; 3761 t && (o += 1); 3762 } 3763 return o; 3764 } 3765 update() { 3766 let e = this; 3767 if (!e || e.destroyed) return; 3768 let { snapGrid: t, params: r } = e; 3769 function i() { 3770 let t = e.rtlTranslate ? -1 * e.translate : e.translate, 3771 r = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate()); 3772 (e.setTranslate(r), e.updateActiveIndex(), e.updateSlidesClasses()); 3773 } 3774 (r.breakpoints && e.setBreakpoint(), 3775 [...e.el.querySelectorAll('[loading="lazy"]')].forEac
3775h((t) => { 3776 t.complete && L(e, t); 3777 }), 3778 e.updateSize(), 3779 e.updateSlides(), 3780 e.updateProgress(), 3781 e.updateSlidesClasses(), 3782 e.params.freeMode && e.params.freeMode.enabled 3783 ? (i(), e.params.autoHeight && e.updateAutoHeight()) 3784 : (("auto" === e.params.slidesPerView || 3785 e.params.slidesPerView > 1) && 3786 e.isEnd && 3787 !e.params.centeredSlides 3788 ? e.slideTo(e.slides.length - 1, 0, !1, !0) 3789 : e.slideTo(e.activeIndex, 0, !1, !0)) || i(), 3790 r.watchOverflow && t !== e.snapGrid && e.checkOverflow(), 3791 e.emit("update")); 3792 } 3793 changeDirection(e, t = !0) { 3794 let r = this, 3795 i = r.params.direction; 3796 return ( 3797 e || (e = "horizontal" === i ? "vertical" : "horizontal"), 3798 e === i || 3799 ("horizontal" !== e && "vertical" !== e) || 3800 (r.el.classList.remove(`${r.params.containerModifierClass}${i}`), 3801 r.el.classList.add(`${r.params.containerModifierClass}${e}`), 3802 r.emitContainerClasses(), 3803 (r.params.direction = e), 3804 r.slides.forEach((t) => { 3805 "vertical" === e ? (t.style.width = "") : (t.style.height = ""); 3806 }), 3807 r.emit("changeDirection"), 3808 t && r.update()), 3809 r 3810 ); 3811 } 3812 changeLanguageDirection(e) { 3813 let t = this; 3814 (!t.rtl || "rtl" !== e) && 3815 (t.rtl || "ltr" !== e) && 3816 ((t.rtl = "rtl" === e), 3817 (t.rtlTranslate = "horizontal" === t.params.direction && t.rtl), 3818 t.rtl 3819 ? (t.el.classList.add(`${t.params.containerModifierClass}rtl`), 3820 (t.el.dir = "rtl")) 3821 : (t.el.classList.remove(`${t.params.containerModifierClass}rtl`), 3822 (t.el.dir = "ltr")), 3823 t.update()); 3824 } 3825 mount(e) { 3826 let t = this; 3827 if (t.mounted) return !0; 3828 let r = e || t.params.el; 3829 if (("string" == typeof r && (r = document.querySelector(r)), !r)) 3830 return !1; 3831 ((r.swiper = t), r.shadowEl && (t.isElement = !0)); 3832 let i = () => 3833 `.${(t.params.wrapperClass || "").trim().split(" ").join(".")}`, 3834 s = (() => { 3835 if (r && r.shadowRoot && r.shadowRoot.querySelector) { 3836 let e = r.shadowRoot.querySelector(i()); 3837 return e; 3838 } 3839 return b(r, i())[0]; 3840 })(); 3841 return ( 3842 !s && 3843 t.params.createElements && 3844 ((s = (function (e, t = []) { 3845 let r = document.createElement("div"); 3846 return (r.classList.add(...(Array.isArray(t) ? t : [t])), r); 3847 })(0, t.params.wrapperClass)), 3848 r.append(s), 3849 b(r, `.${t.params.slideClass}`).forEach((e) => { 3850 s.append(e); 3851 })), 3852 Object.assign(t, { 3853 el: r, 3854 wrapperEl: s, 3855 slidesEl: t.isElement ? r : s, 3856 mounted: !0, 3857 rtl: "rtl" === r.dir.toLowerCase() || "rtl" === S(r, "direction"), 3858 rtlTranslate: 3859 "horizontal" === t.params.direction && 3860 ("rtl" === r.dir.toLowerCase() || "rtl" === S(r, "direction")), 3861 wrongRTL: "-webkit-box" === S(s, "display"), 3862 }), 3863 !0 3864 ); 3865 } 3866 init(e) { 3867 let t = this; 3868 if (t.initialized) return t; 3869 let r = t.mount(e); 3870 return ( 3871 !1 === r || 3872 (t.emit("beforeInit"), 3873 t.params.breakpoints && t.setBreakpoint(), 3874 t.addClasses(), 3875 t.updateSize(), 3876 t.updateSlides(), 3877 t.params.watchOverflow && t.checkOverflow(), 3878 t.params.grabCursor && t.enabled && t.setGrabCursor(), 3879 t.params.loop && t.virtual && t.params.virtual.enabled 3880 ? t.slideTo( 3881 t.params.initialSlide + t.virtual.slidesBefore, 3882 0, 3883 t.params.runCallbacksOnInit, 3884 !1, 3885 !0, 3886 ) 3887 : t.slideTo( 3888 t.params.initialSlide, 3889 0, 3890 t.params.runCallbacksOnInit, 3891 !1, 3892 !0, 3893 ), 3894 t.params.loop && t.loopCreate(), 3895 t.attachEvents(), 3896 [...t.el.querySelectorAll('[loading="lazy"]')].forEac
3896h((e) => { 3897 e.complete 3898 ? L(t, e) 3899 : e.addEventListener("load", (e) => { 3900 L(t, e.target); 3901 }); 3902 }), 3903 (t.initialized = !0), 3904 t.emit("init"), 3905 t.emit("afterInit")), 3906 t 3907 ); 3908 } 3909 destroy(e = !0, t = !0) { 3910 let r = this, 3911 { params: i, el: s, wrapperEl: l, slides: a } = r; 3912 return ( 3913 void 0 === r.params || 3914 r.destroyed || 3915 (r.emit("beforeDestroy"), 3916 (r.initialized = !1), 3917 r.detachEvents(), 3918 i.loop && r.loopDestroy(), 3919 t && 3920 (r.removeClasses(), 3921 s.removeAttribute("style"), 3922 l.removeAttribute("style"), 3923 a && 3924 a.length && 3925 a.forEach((e) => { 3926 (e.classList.remove( 3927 i.slideVisibleClass, 3928 i.slideActiveClass, 3929 i.slideNextClass, 3930 i.slidePrevClass, 3931 ), 3932 e.removeAttribute("style"), 3933 e.removeAttribute("data-swiper-slide-index")); 3934 })), 3935 r.emit("destroy"), 3936 Object.keys(r.eventsListeners).forEach((e) => { 3937 r.off(e); 3938 }), 3939 !1 !== e && 3940 ((r.el.swiper = null), 3941 (function (e) { 3942 let t = e; 3943 Object.keys(t).forEach((e) => { 3944 try { 3945 t[e] = null; 3946 } catch (e) {} 3947 try { 3948 delete t[e]; 3949 } catch (e) {} 3950 }); 3951 })(r)), 3952 (r.destroyed = !0)), 3953 null 3954 ); 3955 } 3956 static extendDefaults(e) { 3957 v($, e); 3958 } 3959 static get extendedDefaults() { 3960 return $; 3961 } 3962 static get defaults() { 3963 return N; 3964 } 3965 static installModule(e) { 3966 F.prototype.__modules__ || (F.prototype.__modules__ = []); 3967 let t = F.prototype.__modules__; 3968 "function" == typeof e && 0 > t.indexOf(e) && t.push(e); 3969 } 3970 static use(e) { 3971 return Array.isArray(e) 3972 ? (e.forEach((e) => F.installModule(e)), F) 3973 : (F.installModule(e), F); 3974 } 3975 } 3976 (Object.keys(j).forEach((e) => { 3977 Object.keys(j[e]).forEach((t) => { 3978 F.prototype[t] = j[e][t]; 3979 }); 3980 }), 3981 F.use([ 3982 function ({ swiper: e, on: t, emit: r }) { 3983 let i = c(), 3984 s = null, 3985 l = null, 3986 a = () => { 3987 e && 3988 !e.destroyed && 3989 e.initialized && 3990 (r("beforeResize"), r("resize")); 3991 }, 3992 n = () => { 3993 e && 3994 !e.destroyed && 3995 e.initialized && 3996 (s = new ResizeObserver((t) => { 3997 l = i.requestAnimationFrame(() => { 3998 let { width: r, height: i } = e, 3999 s = r, 4000 l = i; 4001 (t.forEach( 4002 ({ contentBoxSize: t, contentRect: r, target: i }) => { 4003 (i && i !== e.el) || 4004 ((s = r ? r.width : (t[0] || t).inlineSize), 4005 (l = r ? r.height : (t[0] || t).blockSize)); 4006 }, 4007 ), 4008 (s !== r || l !== i) && a()); 4009 }); 4010 })).observe(e.el); 4011 }, 4012 o = () => { 4013 (l && i.cancelAnimationFrame(l), 4014 s && s.unobserve && e.el && (s.unobserve(e.el), (s = null))); 4015 }, 4016 d = () => { 4017 e && !e.destroyed && e.initialized && r("orientationchange"); 4018 }; 4019 (t("init", () => { 4020 if (e.params.resizeObserver && void 0 !== i.ResizeObserver) { 4021 n(); 4022 return; 4023 } 4024 (i.addEventListener("resize", a), 4025 i.addEventListener("orientationchange", d)); 4026 }), 4027 t("destroy", () => { 4028 (o(), 4029 i.removeEventListener("resize", a), 4030 i.removeEventListener("orientationchange", d)); 4031 })); 4032 }, 4033 function ({ swiper: e, extendParams: t, on: r, emit: i }) { 4034 let s = [], 4035 l = c(), 4036 a = (t, r = {}) => { 4037 let a = l.MutationObserver || l.WebkitMutationObserver, 4038 n = new a((t) => { 4039 if (e.__preventObserver__) return; 4040 if (1 === t.length) { 4041 i("observerUpdate", t[0]); 4042 return; 4043 } 4044 let r = function () { 4045 i("observerUpdate", t[0]); 4046 }; 4047 l.requestAnimationFrame 4048 ? l.requestAnimationFrame(r) 4049 : l.setTimeout(r, 0); 4050 }); 4051 (n.observe(t, { 4052 attributes: void 0 === r.attributes || r.attributes, 4053 childList: void 0 === r.childList || r.childList, 4054 characterData: void 0 === r.characterData || r.characterData, 4055 }), 4056 s.push(n)); 4057 }, 4058 n = () => { 4059 if (e.params.observer) { 4060 if (e.params.observeParents) { 4061 let t = (function (e, t) { 4062 let r = [], 4063 i = e.parentElement; 4064 for (; i; ) 4065 (t ? i.matches(t) && r.push(i) : r.push(i), 4066 (i = i.parentElement)); 4067 return r; 4068 })(e.el); 4069 for (let e = 0; e < t.length; e += 1) a(t[e]); 4070 } 4071 (a(e.el, { childList: e.params.observeSlideChildren }), 4072 a(e.wrapperEl, { attributes: !1 })); 4073 } 4074 }, 4075 o = () => { 4076 (s.forEach((e) => { 4077 e.disconnect(); 4078 }), 4079 s.splice(0, s.length)); 4080 }; 4081 (t({ observer: !1, observeParents: !1, observeSlideChildren: !1 }), 4082 r("init", n), 4083 r("destroy", o)); 4084 }, 4085 ])); 4086 var V = F; 4087 function B({ swiper: e, extendParams: t, on: r, emit: i, params: s }) { 4088 let l, a, n, o, d, p, c, f, h; 4089 ((e.autoplay = { running: !1, paused: !1, timeLeft: 0 }), 4090 t({ 4091 autoplay: { 4092 enabled: !1, 4093 delay: 3e3, 4094 waitForTransition: !0, 4095 disableOnInteraction: !0, 4096 stopOnLastSlide: !1, 4097 reverseDirection: !1, 4098 pauseOnMouseEnter: !1, 4099 }, 4100 })); 4101 let m = s && s.autoplay ? s.autoplay.delay : 3e3, 4102 v = s && s.autoplay ? s.autoplay.delay : 3e3, 4103 g = new Date().getTime; 4104 function w(t) { 4105 e && 4106 !e.destroyed &&
4107 e.wrapperEl && 4108 t.target === e.wrapperEl && 4109 (e.wrapperEl.removeEventListener("transitionend", w), C()); 4110 } 4111 let b = () => { 4112 if (e.destroyed || !e.autoplay.running) return; 4113 e.autoplay.paused ? (o = !0) : o && ((v = n), (o = !1)); 4114 let t = e.autoplay.paused ? n : g + v - new Date().getTime(); 4115 ((e.autoplay.timeLeft = t), 4116 i("autoplayTimeLeft", t, t / m), 4117 (a = requestAnimationFrame(() => { 4118 b(); 4119 }))); 4120 }, 4121 S = () => { 4122 let t; 4123 if ( 4124 !(t = 4125 e.virtual && e.params.virtual.enabled 4126 ? e.slides.filter((e) => 4127 e.classList.contains("swiper-slide-active"), 4128 )[0] 4129 : e.slides[e.activeIndex]) 4130 ) 4131 return; 4132 let r = parseInt(t.getAttribute("data-swiper-autoplay"), 10); 4133 return r; 4134 }, 4135 y = (t) => { 4136 if (e.destroyed || !e.autoplay.running) return; 4137 (cancelAnimationFrame(a), b()); 4138 let r = void 0 === t ? e.params.autoplay.delay : t; 4139 ((m = e.params.autoplay.delay), (v = e.params.autoplay.delay)); 4140 let s = S(); 4141 (!Number.isNaN(s) && 4142 s > 0 && 4143 void 0 === t && 4144 ((r = s), (m = s), (v = s)), 4145 (n = r)); 4146 let o = e.params.speed, 4147 d = () => { 4148 e && 4149 !e.destroyed && 4150 (e.params.autoplay.reverseDirection 4151 ? !e.isBeginning || e.params.loop || e.params.rewind 4152 ? (e.slidePrev(o, !0, !0), i("autoplay")) 4153 : e.params.autoplay.stopOnLastSlide || 4154 (e.slideTo(e.slides.length - 1, o, !0, !0), 4155 i("autoplay")) 4156 : !e.isEnd || e.params.loop || e.params.rewind 4157 ? (e.slideNext(o, !0, !0), i("autoplay")) 4158 : e.params.autoplay.stopOnLastSlide || 4159 (e.slideTo(0, o, !0, !0), i("autoplay")), 4160 e.params.cssMode && 4161 ((g = new Date().getTime()), 4162 requestAnimationFrame(() => { 4163 y(); 4164 }))); 4165 }; 4166 return ( 4167 r > 0 4168 ? (clearTimeout(l), 4169 (l = setTimeout(() => { 4170 d(); 4171 }, r))) 4172 : requestAnimationFrame(() => { 4173 d(); 4174 }), 4175 r 4176 ); 4177 }, 4178 T = () => { 4179 ((e.autoplay.running = !0), y(), i("autoplayStart")); 4180 }, 4181 E = () => { 4182 ((e.autoplay.running = !1), 4183 clearTimeout(l), 4184 cancelAnimationFrame(a), 4185 i("autoplayStop")); 4186 }, 4187 x = (t, r) => { 4188 if (e.destroyed || !e.autoplay.running) return; 4189 (clearTimeout(l), t || (h = !0)); 4190 let s = () => { 4191 (i("autoplayPause"), 4192 e.params.autoplay.waitForTransition 4193 ? e.wrapperEl.addEventListener("transitionend", w) 4194 : C()); 4195 }; 4196 if (((e.autoplay.paused = !0), r)) { 4197 (f && (n = e.params.autoplay.delay), (f = !1), s()); 4198 return; 4199 } 4200 let a = n || e.params.autoplay.delay; 4201 ((n = a - (new Date().getTime() - g)), 4202 (e.isEnd && n < 0 && !e.params.loop) || (n < 0 && (n = 0), s())); 4203 }, 4204 C = () => { 4205 (e.isEnd && n < 0 && !e.params.loop) || 4206 e.destroyed || 4207 !e.autoplay.running || 4208 ((g = new Date().getTime()), 4209 h ? ((h = !1), y(n)) : y(), 4210 (e.autoplay.paused = !1), 4211 i("autoplayResume")); 4212 }, 4213 M = () => { 4214 if (e.destroyed || !e.autoplay.running) return; 4215 let t = u(); 4216 ("hidden" === t.visibilityState && ((h = !0), x(!0)), 4217 "visible" === t.visibilityState && C()); 4218 }, 4219 P = (e) => { 4220 "mouse" === e.pointerType && ((h = !0), x(!0)); 4221 }, 4222 _ = (t) => { 4223 "mouse" === t.pointerType && e.autoplay.paused && C(); 4224 }, 4225 O = () => { 4226 e.params.autoplay.pauseOnMouseEnter && 4227 (e.el.addEventListener("pointerenter", P), 4228 e.el.addEventListener("pointerleave", _)); 4229 }, 4230 k = () => { 4231 (e.el.removeEventListener("pointerenter", P), 4232 e.el.removeEventListener("pointerleave", _)); 4233 }, 4234 L = () => { 4235 let e = u(); 4236 e.addEventListener("visibilitychange", M); 4237 }, 4238 z = () => { 4239 let e = u(); 4240 e.removeEventListener("visibilitychange", M); 4241 }; 4242 (r("init", () => { 4243 e.params.autoplay.enabled &&
4244 (O(), L(), (g = new Date().getTime()), T()); 4245 }), 4246 r("destroy", () => { 4247 (k(), z(), e.autoplay.running && E()); 4248 }), 4249 r("beforeTransitionStart", (t, r, i) => { 4250 !e.destroyed && 4251 e.autoplay.running && 4252 (i || !e.params.autoplay.disableOnInteraction ? x(!0, !0) : E()); 4253 }), 4254 r("sliderFirstMove", () => { 4255 if (!e.destroyed && e.autoplay.running) { 4256 if (e.params.autoplay.disableOnInteraction) { 4257 E(); 4258 return; 4259 } 4260 ((d = !0), 4261 (p = !1), 4262 (h = !1), 4263 (c = setTimeout(() => { 4264 ((h = !0), (p = !0), x(!0)); 4265 }, 200))); 4266 } 4267 }), 4268 r("touchEnd", () => { 4269 if (!e.destroyed && e.autoplay.running && d) { 4270 if ( 4271 (clearTimeout(c), 4272 clearTimeout(l), 4273 e.params.autoplay.disableOnInteraction) 4274 ) { 4275 ((p = !1), (d = !1)); 4276 return; 4277 } 4278 (p && e.params.cssMode && C(), (p = !1), (d = !1)); 4279 } 4280 }), 4281 r("slideChange", () => { 4282 !e.destroyed && e.autoplay.running && (f = !0); 4283 }), 4284 Object.assign(e.autoplay, { 4285 start: T, 4286 stop: E, 4287 pause: x, 4288 resume: C, 4289 })); 4290 } 4291 }, 4292 }, 4293]);
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.