PageSourceSearch

https://www.nsru.ac.th/assets/js/ScrollTrigger.js

js nsru.ac.th collected 2026-10-01 12:22:19 UTC 52,453 bytes, 509 lines download raw bytes

vendor: 17,360 bytes, lines 1-272
1/*!
2 * ScrollTrigger 3.10.4
3 * https://greensock.com
4 * 
5 * @license Copyright 2022, GreenSock. All rights reserved.
6 * Subject to the terms at https://greensock.com/standard-license or for Club GreenSock members, the agreement issued with that membership.
7 * @author: Jack Doyle, [email protected]
8 */
9
10! function(e, t) { "object" == typeof exports && "undefined" != typeof module ? t(exports) : "function" == typeof define && define.amd ? define(["exports"], t) : t((e = e || self).window = e.window || {}) }(this, function(e) { "use strict";
11
12    function _defineProperties(e, t) { for (var r = 0; r < t.length; r++) { var n = t[r];
13            n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n) } }
14
15    function q() { return we || "undefined" != typeof window && (we = window.gsap) && we.registerPlugin && we }
16
17    function y(e, t) { return ~Le.indexOf(e) && Le[Le.indexOf(e) + 1][t] }
18
19    function z(e) { return !!~t.indexOf(e) }
20
21    function A(e, t, r, n, i) { return e.addEventListener(t, r, { passive: !n, capture: !!i }) }
22
23    function B(e, t, r, n) { return e.removeEventListener(t, r, !!n) }
24
25    function E() { return De && De.isPressed || T.cache++ }
26
27    function F(r, n) {
28        function Uc(e) { if (e || 0 === e) { i && (Me.history.scrollRestoration = "manual"); var t = De && De.isPressed;
29                e = Uc.v = Math.round(e) || (De && De.iOS ? 1 : 0), r(e), Uc.cacheID = T.cache, t && o("ss", e) } else(n || T.cache !== Uc.cacheID || o("ref")) && (Uc.cacheID = T.cache, Uc.v = r()); return Uc.v + Uc.offset } return Uc.offset = 0, r && Uc }
30
31    function I(e) { return we.utils.toArray(e)[0] || ("string" == typeof e && !1 !== we.config().nullTargetWarn ? console.warn("Element not found:", e) : null) }
32
33    function J(t, e) { var r = e.s,
34            n = e.sc,
35            i = T.indexOf(t),
36            o = n === Ne.sc ? 1 : 2; return ~i || (i = T.push(t) - 1), T[i + o] || (T[i + o] = F(y(t, r), !0) || (z(t) ? n : F(function(e) { return arguments.length ? t[r] = e : t[r] }))) }
37
38    function K(e, t, i) {
39        function od(e, t) { var r = He();
40            t || n < r - s ? (a = o, o = e, l = s, s = r) : i ? o += e : o = a + (e - a) / (r - l) * (s - l) } var o = e,
41            a = e,
42            s = He(),
43            l = s,
44            n = t || 50,
45            c = Math.max(500, 3 * n); return { update: od, reset: function reset() { a = o = i ? 0 : o, l = s = 0 }, getVelocity: function getVelocity(e) { var t = l,
46                    r = a,
47                    n = He(); return !e && 0 !== e || e === o || od(e), s === l || c < n - l ? 0 : (o + (i ? r : -r)) / ((i ? n : s) - t) * 1e3 } } }
48
49    function L(e, t) { return t && !e._gsapAllow && e.preventDefault(), e.changedTouches ? e.changedTouches[0] : e }
50
51    function M(e) { var t = Math.max.apply(Math, e),
52            r = Math.min.apply(Math, e); return Math.abs(t) >= Math.abs(r) ? t : r }
53
54    function N() {
55        (Be = we.core.globals().ScrollTrigger) && Be.core && function _integrate() { var e = Be.core,
56                r = e.bridge || {},
57                t = e._scrollers,
58                n = e._proxies;
59            t.push.apply(t, T), n.push.apply(n, Le), T = t, Le = n, o = function _bridge(e, t) { return r[e](t) } }() }
60
61    function O(e) { return (we = e || q()) && "undefined" != typeof document && document.body && (Me = window, Ce = (Ae = document).documentElement, Oe = Ae.body, t = [Me, Ae, Ce, Oe], we.utils.clamp, Ie = "onpointerenter" in Oe ? "pointer" : "mouse", Ee = k.isTouch = Me.matchMedia && Me.matchMedia("(hover: none), (pointer: coarse)").matches ? 1 : "ontouchstart" in Me || 0 < navigator.maxTouchPoints || 0 < navigator.msMaxTouchPoints ? 2 : 0, ze = k.eventTypes = ("ontouchstart" in Ce ? "touchstart,touchmove,touchcancel,touchend" : "onpointerdown" in Ce ? "pointerdown,pointermove,pointercancel,pointerup" : "mousedown,mousemove,mouseup,mouseup").split(","), setTimeout(function() { return i = 0 }, 500), N(), ke = 1), ke } var we, ke, Me, Ae, Ce, Oe, Ee, Ie, Be, t, De, ze, i = 1,
62        Fe = [],
63        T = [],
64        Le = [],
65        He = Date.now,
66        o = function _bridge(e, t) { return t },
67        r = "scrollLeft",
68        n = "scrollTop",
69        Re = { s: r, p: "left", p2: "Left", os: "right", os2: "Right", d: "width", d2: "Width", a: "x", sc: F(function(e) { return arguments.length ? Me.scrollTo(e, Ne.sc()) : Me.pageXOffset || Ae[r] || Ce[r] || Oe[r] || 0 }) },
70        Ne = { s: n, p: "top", p2: "Top", os: "bottom", os2: "Bottom", d: "height", d2: "Height", a: "y", op: Re, sc: F(function(e) { return arguments.length ? Me.scrollTo(Re.sc(), e) : Me.pageYOffset || Ae[n] || Ce[n] || Oe[n] || 0 }) };
71    Re.op = Ne, T.cache = 0; var k = (Observer.prototype.init = function init(e) { ke || O(we) || console.warn("Please gsap.registerPlugin(Observer)"), Be || N(); var i = e.tolerance,
72            a = e.dragMinimum,
73            t = e.type,
74            n = e.target,
75            r = e.lineHeight,
76            o = e.debounce,
77            s = e.preventDefault,
78            l = e.onStop,
79            c = e.onStopDelay,
80            u = e.ignore,
81            f = e.wheelSpeed,
82            d = e.event,
83            p = e.onDragStart,
84            g = e.onDragEnd,
85            h = e.onDrag,
86            v = e.onPress,
87            b = e.onRelease,
88            m = e.onRight,
89            y = e.onLeft,
90            x = e.onUp,
91            w = e.onDown,
92            S = e.onChangeX,
93            _ = e.onChangeY,
94            T = e.onChange,
95            k = e.onToggleX,
96            C = e.onToggleY,
97            P = e.onHover,
98            D = e.onHoverEnd,
99            Y = e.onMove,
100            X = e.ignoreCheck,
101            F = e.isNormalizer,
102            H = e.onGestureStart,
103            R = e.onGestureEnd,
104            U = e.onWheel,
105            V = e.onEnable,
106            W = e.onDisable,
107            j = e.onClick,
108            Q = e.scrollSpeed,
109            q = e.capture,
110            G = e.allowClicks,
111            Z = e.lockAxis,
112            $ = e.onLockAxis;
113
114        function Pe() { return ye = He() }
115
116        function Qe(e, t) { return (se.event = e) && u && ~u.indexOf(e.target) || t && ge && "touch" !== e.pointerType || X && X(e, t) }
117
118        function Se() { var e = se.deltaX = M(be),
119                t = se.deltaY = M(me),
120                r = Math.abs(e) >= i,
121                n = Math.abs(t) >= i;
122            T && (r || n) && T(se, e, t, be, me), r && (m && 0 < se.deltaX && m(se), y && se.deltaX < 0 && y(se), S && S(se), k && se.deltaX < 0 != le < 0 && k(se), le = se.deltaX, be[0] = be[1] = be[2] = 0), n && (w && 0 < se.deltaY && w(se), x && se.deltaY < 0 && x(se), _ && _(se), C && se.deltaY < 0 != ce < 0 && C(se), ce = se.deltaY, me[0] = me[1] = me[2] = 0), (ne || re) && (Y && Y(se), $ && oe && $(se), re && (h(se), re = !1), ne = oe = !1), ie && (U(se), ie = !1), ee = 0 }
123
124        function Te(e, t, r) { be[r] += e, me[r] += t, se._vx.update(e), se._vy.update(t), o ? ee = ee || requestAnimationFrame(Se) : Se() }
125
126        function Ue(e, t) { "y" !== ae && (be[2] += e, se._vx.update(e, !0)), "x" !== ae && (me[2] += t, se._vy.update(t, !0)), Z && !ae && (se.axis = ae = Math.abs(e) > Math.abs(t) ? "x" : "y", oe = !0), o ? ee = ee || requestAnimationFrame(Se) : Se() }
127
128        function Ve(e) { if (!Qe(e, 1)) { var t = (e = L(e, s)).clientX,
129                    r = e.clientY,
130                    n = t - se.x,
131                    i = r - se.y,
132                    o = se.isDragging;
133                se.x = t, se.y = r, (o || Math.abs(se.startX - t) >= a || Math.abs(se.startY - r) >= a) && (h && (re = !0), o || (se.isDragging = !0), Ue(n, i), o || p && p(se)) } }
134
135        function Xe(t) { if (!Qe(t, 1)) { B(F ? n : ve, ze[1], Ve, !0); var e = se.isDragging && (3 < Math.abs(se.x - se.startX) || 3 < Math.abs(se.y - se.startY)),
136                    r = L(t);
137                e || (se._vx.reset(), se._vy.reset(), s && G && we.delayedCall(.08, function() { if (300 < He() - ye && !t.defaultPrevented)
138                        if (t.target.click) t.target.click();
139                        else if (ve.createEvent) { var e = ve.createEvent("MouseEvents");
140                        e.initMouseEvent("click", !0, !0, Me, 1, r.screenX, r.screenY, r.clientX, r.clientY, !1, !1, !1, !1, 0, null), t.target.dispatchEvent(e) } })), se.isDragging = se.isGesturing = se.isPressed = !1, l && !F && te.restart(!0), g && e && g(se), b && b(se, e) } }
141
142        function Ye(e) { return e.touches && 1 < e.touches.length && (se.isGesturing = !0) && H(e, se.isDragging) }
143
144        function Ze() { return (se.isGesturing = !1) || R(se) }
145
146        function $e(e) { if (!Qe(e)) { var t = ue(),
147                    r = fe();
148                Te((t - de) * Q, (r - pe) * Q, 1), de = t, pe = r, l && te.restart(!0) } }
149
150        function _e(e) { if (!Qe(e)) { e = L(e, s), U && (ie = !0); var t = (1 === e.deltaMode ? r : 2 === e.deltaMode ? Me.innerHeight : 1) * f;
151                Te(e.deltaX * t, e.deltaY * t, 0), l && !F && te.restart(!0) } }
152
153        function af(e) { if (!Qe(e)) { var t = e.clientX,
154                    r = e.clientY,
155                    n = t - se.x,
156                    i = r - se.y;
157                se.x = t, se.y = r, ne = !0, (n || i) && Ue(n, i) } }
158
159        function bf(e) { se.event = e, P(se) }
160
161        function cf(e) { se.event = e, D(se) }
162
163        function df(e) { return Qe(e) || L(e, s) && j(se) }
164        this.target = n = I(n) || Ce, this.vars = e, u = u && we.utils.toArray(u), i = i || 0, a = a || 0, f = f || 1, Q = Q || 1, t = t || "wheel,touch,pointer", o = !1 !== o, r = r || parseFloat(Me.getComputedStyle(Oe).lineHeight) || 22; var ee, te, re, ne, ie, oe, ae, se = this,
165            le = 0,
166            ce = 0,
167            ue = J(n, Re),
168            fe = J(n, Ne),
169            de = ue(),
170            pe = fe(),
171            ge = ~t.indexOf("touch") && !~t.indexOf("pointer") && "pointerdown" === ze[0],
172            he = z(n),
173            ve = n.ownerDocument || Ae,
174            be = [0, 0, 0],
175            me = [0, 0, 0],
176            ye = 0,
177            xe = se.onPress = function(e) { Qe(e, 1) || (se.axis = ae = null, te.pause(), se.isPressed = !0, e = L(e), le = ce = 0, se.startX = se.x = e.clientX, se.startY = se.y = e.clientY, se._vx.reset(), se._vy.reset(), A(F ? n : ve, ze[1], Ve, s, !0), se.deltaX = se.deltaY = 0, v && v(se)) };
178        te = se._dc = we.delayedCall(c || .25, function onStopFunc() { se._vx.reset(), se._vy.reset(), te.pause(), l && l(se) }).pause(), se.deltaX = se.deltaY = 0, se._vx = K(0, 50, !0), se._vy = K(0, 50, !0), se.scrollX = ue, se.scrollY = fe, se.isDragging = se.isGesturing = se.isPressed = !1, se.enable = function(e) { return se.isEnabled || (A(he ? ve : n, "scroll", E), 0 <= t.indexOf("scroll") && A(he ? ve : n, "scroll", $e, s, q), 0 <= t.indexOf("wheel") && A(n, "wheel", _e, s, q), (0 <= t.indexOf("touch") && Ee || 0 <= t.indexOf("pointer")) && (A(n, ze[0], xe, s, q), A(ve, ze[2], Xe), A(ve, ze[3], Xe), G && A(n, "click", Pe, !1, !0), j && A(n, "click", df), H && A(ve, "gesturestart", Ye), R && A(ve, "gestureend", Ze), P && A(n, Ie + "enter", bf), D && A(n, Ie + "leave", cf), Y && A(n, Ie + "move", af)), se.isEnabled = !0, e && e.type && xe(e), V && V(se)), se }, se.disable = function() { se.isEnabled && (Fe.filter(function(e) { return e !== se && z(e.target) }).length || B(he ? ve : n, "scroll", E), se.isPressed && (se._vx.reset(), se._vy.reset(), B(F ? n : ve, ze[1], Ve, !0)), B(he ? ve : n, "scroll", $e, q), B(n, "wheel", _e, q), B(n, ze[0], xe, q), B(ve, ze[2], Xe), B(ve, ze[3], Xe), B(n, "click", Pe, !0), B(n, "click", df), B(ve, "gesturestart", Ye), B(ve, "gestureend", Ze), B(n, Ie + "enter", bf), B(n, Ie + "leave", cf), B(n, Ie + "move", af), se.isEnabled = se.isPressed = se.isDragging = !1, W && W(se)) }, se.kill = function() { se.disable(); var e = Fe.indexOf(se);
179            0 <= e && Fe.splice(e, 1), De === se && (De = 0) }, Fe.push(se), F && z(n) && (De = se), se.enable(d) }, function _createClass(e, t, r) { return t && _defineProperties(e.prototype, t), r && _defineProperties(e, r), e }(Observer, [{ key: "velocityX", get: function get() { return this._vx.getVelocity() } }, { key: "velocityY", get: function get() { return this._vy.getVelocity() } }]), Observer);
180
181    function Observer(e) { this.init(e) }
182    k.version = "3.10.4", k.create = function(e) { return new k(e) }, k.register = O, k.getAll = function() { return Fe.slice() }, k.getById = function(t) { return Fe.filter(function(e) { return e.vars.id === t })[0] }, q() && we.registerPlugin(k);
183
184    function va() { return nt = 1 }
185
186    function wa() { return nt = 0 }
187
188    function xa(e) { return e }
189
190    function ya(e) { return Math.round(1e5 * e) / 1e5 || 0 }
191
192    function za() { return "undefined" != typeof window }
193
194    function Aa() { return We || za() && (We = window.gsap) && We.registerPlugin && We }
195
196    function Ba(e) { return !!~s.indexOf(e) }
197
198    function Ca(e) { return y(e, "getBoundingClientRect") || (Ba(e) ? function() { return Bt.width = je.innerWidth, Bt.height = je.innerHeight, Bt } : function() { return Mt(e) }) }
199
200    function Fa(e, t) { var r = t.s,
201            n = t.d2,
202            i = t.d,
203            o = t.a; return (r = "scroll" + n) && (o = y(e, r)) ? o() - Ca(e)()[i] : Ba(e) ? (qe[r] || Ge[r]) - (je["inner" + n] || qe["client" + n] || Ge["client" + n]) : e[r] - e["offset" + n] }
204
205    function Ga(e, t) { for (var r = 0; r < p.length; r += 3) t && !~t.indexOf(p[r + 1]) || e(p[r], p[r + 1], p[r + 2]) }
206
207    function Ha(e) { return "string" == typeof e }
208
209    function Ia(e) { return "function" == typeof e }
210
211    function Ja(e) { return "number" == typeof e }
212
213    function Ka(e) { return "object" == typeof e }
214
215    function La(e) { return Ia(e) && e() }
216
217    function Ma(r, n) { return function() { var e = La(r),
218                t = La(n); return function() { La(e), La(t) } } }
219
220    function Na(e, t, r) { return e && e.progress(t ? 0 : 1) && r && e.pause() }
221
222    function Oa(e, t) { if (e.enabled) { var r = t(e);
223            r && r.totalTime && (e.callbackAnimation = r) } }
224
225    function db(e) { return je.getComputedStyle(e) }
226
227    function fb(e, t) { for (var r in t) r in e || (e[r] = t[r]); return e }
228
229    function hb(e, t) { var r = t.d2; return e["offset" + r] || e["client" + r] || 0 }
230
231    function ib(e) { var t, r = [],
232            n = e.labels,
233            i = e.duration(); for (t in n) r.push(n[t] / i); return r }
234
235    function kb(i) { var o = We.utils.snap(i),
236            a = Array.isArray(i) && i.slice(0).sort(function(e, t) { return e - t }); return a ? function(e, t, r) { var n; if (void 0 === r && (r = .001), !t) return o(e); if (0 < t) { for (e -= r, n = 0; n < a.length; n++)
237                    if (a[n] >= e) return a[n];
238                return a[n - 1] } for (n = a.length, e += r; n--;)
239                if (a[n] <= e) return a[n];
240            return a[0] } : function(e, t, r) { void 0 === r && (r = .001); var n = o(e); return !t || Math.abs(n - e) < r || n - e < 0 == t < 0 ? n : o(t < 0 ? e - i : e + i) } }
241
242    function mb(t, r, e, n) { return e.split(",").forEach(function(e) { return t(r, e, n) }) }
243
244    function nb(e, t, r, n, i) { return e.addEventListener(t, r, { passive: !n, capture: !!i }) }
245
246    function ob(e, t, r, n) { return e.removeEventListener(t, r, !!n) }
247
248    function pb(e, t, r) { return r && r.wheelHandler && e(t, "wheel", r) }
249
250    function tb(e, t) { if (Ha(e)) { var r = e.indexOf("="),
251                n = ~r ? (e.charAt(r - 1) + 1) * parseFloat(e.substr(r + 1)) : 0;~r && (e.indexOf("%") > r && (n *= t / 100), e = e.substr(0, r - 1)), e = n + (e in Y ? Y[e] * t : ~e.indexOf("%") ? parseFloat(e) * t / 100 : parseFloat(e) || 0) } return e }
252
253    function ub(e, t, r, n, i, o, a, s) { var l = i.startColor,
254            c = i.endColor,
255            u = i.fontSize,
256            f = i.indent,
257            d = i.fontWeight,
258            p = Je.createElement("div"),
259            g = Ba(r) || "fixed" === y(r, "pinType"),
260            h = -1 !== e.indexOf("scroller"),
261            v = g ? Ge : r,
262            b = -1 !== e.indexOf("start"),
263            m = b ? l : c,
264            x = "border-color:" + m + ";font-size:" + u + ";color:" + m + ";font-weight:" + d + ";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;"; return x += "position:" + ((h || s) && g ? "fixed;" : "absolute;"), !h && !s && g || (x += (n === Ne ? _ : P) + ":" + (o + parseFloat(f)) + "px;"), a && (x += "box-sizing:border-box;text-align:left;width:" + a.offsetWidth + "px;"), p._isStart = b, p.setAttribute("class", "gsap-marker-" + e + (t ? " marker-" + t : "")), p.style.cssText = x, p.innerText = t || 0 === t ? e + "-" + t : e, v.children[0] ? v.insertBefore(p, v.children[0]) : v.appendChild(p), p._offset = p["offset" + n.op.d2], X(p, 0, n, b), p }
265
266    function zb() { return 34 < dt() - pt && ee() }
267
268    function Ab() { h && h.isPressed && !(h.startX > Ge.clientWidth) || (T.cache++, x = x || requestAnimationFrame(ee), pt || V("scrollStart"), pt = dt()) }
269
270    function Bb() { m = je.innerWidth, b = je.innerHeight }
271
272    function Cb() { T.cache++, rt || g || Je.fullscreenElement || Je.webkitFullscreenElement || v && m === je.innerWidth && !(Math.abs(je.innerHe
272ight - b) > .25 * je.innerHeight) || l.restart(!0) }
273
274    function Ib(e) { var t, r = We.ticker.frame,
275            n = [],
276            i = 0; if (w !== r || ft) { for (Q(); i < U.length; i += 4)(t = je.matchMedia(U[i]).matches) !== U[i + 3] && ((U[i + 3] = t) ? n.push(i) : Q(1, U[i]) || Ia(U[i + 2]) && U[i + 2]()); for (j(), i = 0; i < n.length; i++) t = n[i], lt = U[t], U[t + 2] = U[t + 1](e);
277            lt = 0, a && Z(0, 1), w = r, V("matchMedia") } }
278
279    function Jb() { return ob(oe, "scrollEnd", Jb) || Z(!0) }
280
281    function Ob() { return T.cache++ && T.forEach(function(e) { return "function" == typeof e && (e.rec = 0) }) }
282
283    function Zb(e, t, r, n) { if (e.parentNode !== t) { for (var i, o = te.length, a = t.style, s = e.style; o--;) a[i = te[o]] = r[i];
284            a.position = "absolute" === r.position ? "absolute" : "relative", "inline" === r.display && (a.display = "inline-block"), s[P] = s[_] = a.flexBasis = "auto", a.overflow = "visible", a.boxSizing = "border-box", a[vt] = hb(e, Re) + kt, a[bt] = hb(e, Ne) + kt, a[St] = s[_t] = s.top = s.left = "0", It(n), s[vt] = s.maxWidth = r[vt], s[bt] = s.maxHeight = r[bt], s[St] = r[St], e.parentNode.insertBefore(t, e), t.appendChild(e) } }
285
286    function ac(e) { for (var t = re.length, r = e.style, n = [], i = 0; i < t; i++) n.push(re[i], r[re[i]]); return n.t = e, n }
287
288    function dc(e, t, r, n, i, o, a, s, l, c, u, f, d) { Ia(e) && (e = e(s)), Ha(e) && "max" === e.substr(0, 3) && (e = f + ("=" === e.charAt(4) ? tb("0" + e.substr(3), r) : 0)); var p, g, h, v = d ? d.time() : 0; if (d && d.seek(0), Ja(e)) a && X(a, r, n, !0);
289        else { Ia(t) && (t = t(s)); var b, m, y, x, w = e.split(" ");
290            h = I(t) || Ge, (b = Mt(h) || {}) && (b.left || b.top) || "none" !== db(h).display || (x = h.style.display, h.style.display = "block", b = Mt(h), x ? h.style.display = x : h.style.removeProperty("display")), m = tb(w[0], b[n.d]), y = tb(w[1] || "0", r), e = b[n.p] - l[n.p] - c + m + i - y, a && X(a, y, n, r - y < 20 || a._isStart && 20 < y), r -= r - y } if (o) { var S = e + r,
291                _ = o._isStart;
292            p = "scroll" + n.d2, X(o, S, n, _ && 20 < S || !_ && (u ? Math.max(Ge[p], qe[p]) : o.parentNode[p]) <= S + 1), u && (l = Mt(a), u && (o.style[n.op.p] = l[n.op.p] - n.op.m - o._offset + kt)) } return d && h && (p = Mt(h), d.seek(f), g = Mt(h), d._caScrollDist = p[n.p] - g[n.p], e = e / d._caScrollDist * f), d && d.seek(v), d ? e : Math.round(e) }
293
294    function fc(e, t, r, n) { if (e.parentNode !== t) { var i, o, a = e.style; if (t === Ge) { for (i in e._stOrig = a.cssText, o = db(e)) + i || ie.test(i) || !o[i] || "string" != typeof a[i] || "0" === i || (a[i] = o[i]);
295                a.top = r, a.left = n } else a.cssText = e._stOrig;
296            We.core.getCache(e).uncache = 1, t.appendChild(e) } }
297
298    function gc(l, e) {
299        function Qj(e, t, r, n, i) { var o = Qj.tween,
300                a = t.onComplete,
301                s = {}; return r = r || f(), i = n && i || 0, n = n || e - r, o && o.kill(), c = Math.round(r), t[d] = e, (t.modifiers = s)[d] = function(e) { return (e = ya(f())) !== c && e !== u && 2 < Math.abs(e - c) && 2 < Math.abs(e - u) ? (o.kill(), Qj.tween = 0) : e = r + n * o.ratio + i * o.ratio * o.ratio, u = c, c = ya(e) }, t.onComplete = function() { Qj.tween = 0, a && a.call(o) }, o = Qj.tween = We.to(l, t) } var c, u, f = J(l, e),
302            d = "_scroll" + e.p2; return (l[d] = f).wheelHandler = function() { return Qj.tween && Qj.tween.kill() && (Qj.tween = 0) }, nb(l, "wheel", f.wheelHandler), Qj } var We, a, je, Je, qe, Ge, s, l, Ke, et, tt, c, rt, nt, u, it, f, d, p, ot, at, g, h, v, b, m, C, st, x, lt, w, ct, ut, ft = 1,
303        dt = Date.now,
304        S = dt(),
305        pt = 0,
306        gt = 0,
307        ht = Math.abs,
308        _ = "right",
309        P = "bottom",
310        vt = "width",
311        bt = "height",
312        mt = "Right",
313        yt = "Left",
314        xt = "Top",
315        wt = "Bottom",
316        St = "padding",
317        _t = "margin",
318        Tt = "Width",
319        D = "Height",
320        kt = "px",
321        Mt = function _getBounds(e, t) { var r = t && "matrix(1, 0, 0, 1, 0, 0)" !== db(e)[u] && We.to(e, { x: 0, y: 0, xPercent: 0, yPercent: 0, rotation: 0, rotationX: 0, rotationY: 0, scale: 1, skewX: 0, skewY: 0 }).progress(1),
322                n = e.getBoundingClientRect(); return r && r.progress(0).kill(), n },
323        At = { startColor: "green", endColor: "red", indent: 0, fontSize: "16px", fontWeight: "normal" },
324        Ct = { toggleActions: "play", anticipatePin: 0 },
325        Y = { top: 0, left: 0, center: .5, bottom: 1, right: 1 },
326        X = function _positionMarker(e, t, r, n) { var i = { display: "block" },
327                o = r[n ? "os2" : "p2"],
328                a = r[n ? "p2" : "os2"];
329            e._isFlipped = n, i[r.a + "Percent"] = n ? -100 : 0, i[r.a] = n ? "1px" : 0, i["border" + o + Tt] = 1, i["border" + a + Tt] = 0, i[r.p] = t + "px", We.set(e, i) },
330        Ot = [],
331        Pt = {},
332        H = {},
333        R = [],
334        U = [],
335        V = function _dispatch(e) { return H[e] && H[e].map(function(e) { return e() }) || R },
336        W = [],
337        j = function _revertRecorded(e) { for (var t = 0; t < W.length; t += 5) e && W[t + 4] !== e || (W[t].style.cssText = W[t + 1], W[t].getBBox && W[t].setAttribute("transform", W[t + 2] || ""), W[t + 3].uncache = 1) },
338        Q = function _revertAll(e, t) { var r; for (it = 0; it < Ot.length; it++) r = Ot[it], t && r.media !== t || (e ? r.kill(1) : r.revert());
339            t && j(t), t || V("revert") },
340        G = 0,
341        Z = function _refreshAll(e, t) { if (!pt || e) { ct = !0; var r = V("refreshInit");
vendor: 5,222 bytes, lines 342-400
342                ot && oe.sort(), t || Q(), Ot.slice(0).forEach(function(e) { return e.refresh() }), Ot.forEach(function(e) { return "max" === e.vars.end && e.setPositions(e.start, Fa(e.scroller, e._dir)) }), r.forEach(function(e) { return e && e.render && e.render(-1) }), Ob(), l.pause(), G++, ct = !1, V("refresh") } else nb(oe, "scrollEnd", Jb) },
343        $ = 0,
344        Et = 1,
345        ee = function _updateAll() { if (!ct) { oe.isUpdating = !0, ut && ut.update(0); var e = Ot.length,
346                    t = dt(),
347                    r = 50 <= t - S,
348                    n = e && Ot[0].scroll(); if (Et = n < $ ? -1 : 1, $ = n, r && (pt && !nt && 200 < t - pt && (pt = 0, V("scrollEnd")), tt = S, S = t), Et < 0) { for (it = e; 0 < it--;) Ot[it] && Ot[it].update(0, r);
349                    Et = 1 } else
350                    for (it = 0; it < e; it++) Ot[it] && Ot[it].update(0, r);
351                oe.isUpdating = !1 }
352            x = 0 },
353        te = ["left", "top", P, _, _t + wt, _t + mt, _t + xt, _t + yt, "display", "flexShrink", "float", "zIndex", "gridColumnStart", "gridColumnEnd", "gridRowStart", "gridRowEnd", "gridArea", "justifySelf", "alignSelf", "placeSelf", "order"],
354        re = te.concat([vt, bt, "boxSizing", "max" + Tt, "max" + D, "position", _t, St, St + xt, St + mt, St + wt, St + yt]),
355        ne = /([A-Z])/g,
356        It = function _setState(e) { if (e) { var t, r, n = e.t.style,
357                    i = e.length,
358                    o = 0; for ((e.t._gsap || We.core.getCache(e.t)).uncache = 1; o < i; o += 2) r = e[o + 1], t = e[o], r ? n[t] = r : n[t] && n.removeProperty(t.replace(ne, "-$1").toLowerCase()) } },
359        Bt = { left: 0, top: 0 },
360        ie = /(webkit|moz|length|cssText|inset)/i,
361        oe = (ScrollTrigger.prototype.init = function init(_, T) { if (this.progress = this.start = 0, this.vars && this.kill(!0, !0), gt) { var k, n, p, M, A, C, O, P, E, B, D, e, z, Y, X, F, L, t, H, b, R, N, m, U, x, w, r, S, V, W, i, g, j, Q, q, G, K, o, Z = (_ = fb(Ha(_) || Ja(_) || _.nodeType ? { trigger: _ } : _, Ct)).onUpdate,
362                    $ = _.toggleClass,
363                    a = _.id,
364                    ee = _.onToggle,
365                    te = _.onRefresh,
366                    re = _.scrub,
367                    ne = _.trigger,
368                    ie = _.pin,
369                    oe = _.pinSpacing,
370                    ae = _.invalidateOnRefresh,
371                    se = _.anticipatePin,
372                    s = _.onScrubComplete,
373                    h = _.onSnapComplete,
374                    le = _.once,
375                    ce = _.snap,
376                    ue = _.pinReparent,
377                    l = _.pinSpacer,
378                    fe = _.containerAnimation,
379                    de = _.fastScrollEnd,
380                    pe = _.preventOverlaps,
381                    ge = _.horizontal || _.containerAnimation && !1 !== _.horizontal ? Re : Ne,
382                    he = !re && 0 !== re,
383                    ve = I(_.scroller || je),
384                    c = We.core.getCache(ve),
385                    be = Ba(ve),
386                    me = "fixed" === ("pinType" in _ ? _.pinType : y(ve, "pinType") || be && "fixed"),
387                    ye = [_.onEnter, _.onLeave, _.onEnterBack, _.onLeaveBack],
388                    xe = he && _.toggleActions.split(" "),
389                    u = "markers" in _ ? _.markers : Ct.markers,
390                    we = be ? 0 : parseFloat(db(ve)["border" + ge.p2 + Tt]) || 0,
391                    Se = this,
392                    _e = _.onRefreshInit && function() { return _.onRefreshInit(Se) },
393                    Te = function _getSizeFunc(e, t, r) { var n = r.d,
394                            i = r.d2,
395                            o = r.a; return (o = y(e, "getBoundingClientRect")) ? function() { return o()[n] } : function() { return (t ? je["inner" + i] : e["client" + i]) || 0 } }(ve, be, ge),
396                    ke = function _getOffsetsFunc(e, t) { return !t || ~Le.indexOf(e) ? Ca(e) : function() { return Bt } }(ve, be),
397                    Me = 0,
398                    Ae = 0,
399                    Ce = J(ve, ge); if (Se.media = lt, Se._dir = ge, se *= 45, Se.scroller = ve, Se.scroll = fe ? fe.time.bind(fe) : Ce, M = Ce(), Se.vars = _, T = T || _.animation, "refreshPriority" in _ && (ot = 1, -9999 === _.refreshPriority && (ut = Se)), c.tweenScroll = c.tweenScroll || { top: gc(ve, Ne), left: gc(ve, Re) }, Se.tweenTo = k = c.tweenScroll[ge.p], Se.scrubDuration = function(e) {
400                        (i = Ja(e) && e) ? W ? W.duration(e) : W = We.to(T, { ease: "expo", totalProgress: "+=0.001", duration: i, paused: !0, onComplete: function onComplete() { return s && s(Se) } }): (W && W.progress(1).kill(), W = 0) }, T && (T.vars.lazy = !1, T._initted || !1 !== T.vars.immediateRender && !1 !== _.immediateRender && T.render(0, !0, !0), Se.animation = T.pause(), (T.scrollTrigger = Se).scrubDuration(re), S = 0, a = a || T.vars.id), Ot.push(Se), ce && (Ka(ce) && !ce.push || (ce = { snapTo: ce }), "scrollBehavior" in Ge.style && We.set(be ? [Ge, qe] : ve, { scrollBehavior: "auto" }), p = Ia(ce.snapTo) ? ce.snapTo : "labels" === ce.snapTo ? function _getClosestLabel(t) { return function(e) { return We.utils.snap(ib(t), e) } }
400(T) : "labelsDirectional" === ce.snapTo ? function _getLabelAtDirection(r) { return function(e, t) { return kb(ib(r))(e, t.direction) } }(T) : !1 !== ce.directional ? function(e, t) { return kb(ce.snapTo)(e, dt() - Ae < 500 ? 0 : t.direction) } : We.utils.snap(ce.snapTo), g = ce.duration || { min: .1, max: 2 }, g = Ka(g) ? et(g.min, g.max) : et(g, g), j = We.delayedCall(ce.delay || i / 2 || .1, function() { var e = Ce(),
401                            t = dt() - Ae < 500,
402                            r = k.tween; if (!(t || Math.abs(Se.getVelocity()) < 10) || r || nt || Me === e) Se.isActive && Me !== e && j.restart(!0);
403                        else { var n = (e - C) / z,
404                                i = T && !he ? T.totalProgress() : n,
405                                o = t ? 0 : (i - V) / (dt() - tt) * 1e3 || 0,
406                                a = We.utils.clamp(-n, 1 - n, ht(o / 2) * o / .185),
407                                s = n + (!1 === ce.inertia ? 0 : a),
408                                l = et(0, 1, p(s, Se)),
409                                c = Math.round(C + l * z),
410                                u = ce.onStart,
411                                f = ce.onInterrupt,
412                                d = ce.onComplete; if (e <= O && C <= e && c !== e) { if (r && !r._initted && r.data <= ht(c - e)) return;!1 === ce.inertia && (a = l - n), k(c, { duration: g(ht(.185 * Math.max(ht(s - i), ht(l - i)) / o / .05 || 0)), ease: ce.ease || "power3", data: ht(c - e), onInterrupt: function onInterrupt() { return j.restart(!0) && f && f(Se) }, onComplete: function onComplete() { Se.update(), Me = Ce(), S = V = T && !he ? T.totalProgress() : Se.progress, h && h(Se), d && d(Se) } }, e, a * z, c - e - a * z), u && u(Se, k.tween) } } }).pause()), a && (Pt[a] = Se), o = (o = (ne = Se.trigger = I(ne || ie)) && ne._gsap && ne._gsap.stRevert) && o(Se), ie = !0 === ie ? ne : I(ie), Ha($) && ($ = { targets: ne, className: $ }), ie && (!1 === oe || oe === _t || (oe = !(!oe && "flex" === db(ie.parentNode).display) && St), Se.pin = ie, !1 !== _.force3D && We.set(ie, { force3D: !0 }), (n = We.core.getCache(ie)).spacer ? Y = n.pinState : (l && ((l = I(l)) && !l.nodeType && (l = l.current || l.nativeElement), n.spacerIsNative = !!l, l && (n.spacerState = ac(l))), n.spacer = L = l || Je.createElement("div"), L.classList.add("pin-spacer"), a && L.classList.add("pin-spacer-" + a), n.pinState = Y = ac(ie)), Se.spacer = L = n.spacer, r = db(ie), m = r[oe + ge.os2], H = We.getProperty(ie), b = We.quickSetter(ie, ge.a, kt), Zb(ie, L, r), F = ac(ie)), u) { e = Ka(u) ? fb(u, At) : At, B = ub("scroller-start", a, ve, ge, e, 0), D = ub("scroller-end", a, ve, ge, e, 0, B), t = B["offset" + ge.op.d2]; var f = I(y(ve, "content") || ve);
413                    P = this.markerStart = ub("start", a, f, ge, e, t, 0, fe), E = this.markerEnd = ub("end", a, f, ge, e, t, 0, fe), fe && (K = We.quickSetter([P, E], ge.a, kt)), me || Le.length && !0 === y(ve, "fixedMarkers") || (function _makePositionable(e) { var t = db(e).position;
414                        e.style.position = "absolute" === t || "fixed" === t ? t : "relative" }(be ? Ge : ve), We.set([B, D], { force3D: !0 }), x = We.quickSetter(B, ge.a, kt), w = We.quickSetter(D, ge.a, kt)) } if (fe) { var d = fe.vars.onUpdate,
415                        v = fe.vars.onUpdateParams;
416                    fe.eventCallback("onUpdate", function() { Se.update(0, 0, 1), d && d.apply(v || []) }) }
417                Se.previous = function() { return Ot[Ot.indexOf(Se) - 1] }, Se.next = function() { return Ot[Ot.indexOf(Se) + 1] }, Se.revert = function(e) { var t = !1 !== e || !Se.enabled,
418                        r = rt;
419                    t !== Se.isReverted && (t && (!Se.scroll.rec && rt && ct && (Se.scroll.rec = Ce()), q = Math.max(Ce(), Se.scroll.rec || 0), Q = Se.progress, G = T && T.progress()), P && [P, E, B, D].forEach(function(e) { return e.style.display = t ? "none" : "block" }), t && (rt = 1), Se.update(t), rt = r, ie && (t ? function _swapPinOut(e, t, r) { It(r); var n = e._gsap; if (n.spacerIsNative) It(n.spacerState);
420                        else if (e.parentNode === t) { var i = t.parentNode;
421                            i && (i.insertBefore(e, t), i.removeChild(t)) } }(ie, L, Y) : ue && Se.isActive || Zb(ie, L, db(ie), U)), Se.isReverted = t) }, Se.refresh = function(e, t) { if (!rt && Se.enabled || t)
422                        if (ie && e && pt) nb(ScrollTrigger, "scrollEnd", Jb);
423                        else {!ct && _e && _e(Se), rt = 1, Ae = dt(
423), k.tween && (k.tween.kill(), k.tween = 0), W && W.pause(), ae && T && T.time(-.01, !0).invalidate(), Se.isReverted || Se.revert(); for (var r, n, i, o, a, s, l, c, u, f, d = Te(), p = ke(), g = fe ? fe.duration() : Fa(ve, ge), h = 0, v = 0, b = _.end, m = _.endTrigger || ne, y = _.start || (0 !== _.start && ne ? ie ? "0 0" : "0 100%" : 0), x = Se.pinnedContainer = _.pinnedContainer && I(_.pinnedContainer), w = ne && Math.max(0, Ot.indexOf(Se)) || 0, S = w; S--;)(s = Ot[S]).end || s.refresh(0, 1) || (rt = 1), !(l = s.pin) || l !== ne && l !== ie || s.isReverted || ((f = f || []).unshift(s), s.revert()), s !== Ot[S] && (w--, S--); for (Ia(y) && (y = y(Se)), C = dc(y, ne, d, ge, Ce(), P, B, Se, p, we, me, g, fe) || (ie ? -.001 : 0), Ia(b) && (b = b(Se)), Ha(b) && !b.indexOf("+=") && (~b.indexOf(" ") ? b = (Ha(y) ? y.split(" ")[0] : "") + b : (h = tb(b.substr(2), d), b = Ha(y) ? y : C + h, m = ne)), O = Math.max(C, dc(b || (m ? "100% 0" : g), m, d, ge, Ce() + h, E, D, Se, p, we, me, g, fe)) || -.001, z = O - C || (C -= .01) && .001, h = 0, S = w; S--;)(l = (s = Ot[S]).pin) && s.start - s._pinPush < C && !fe && 0 < s.end && (r = s.end - s.start, l !== ne && l !== x || Ja(y) || (h += r * (1 - s.progress)), l === ie && (v += r)); if (C += h, O += h, Se._pinPush = v, P && h && ((r = {})[ge.a] = "+=" + h, x && (r[ge.p] = "-=" + Ce()), We.set([P, E], r)), ie) r = db(ie), o = ge === Ne, i = Ce(), R = parseFloat(H(ge.a)) + v, !g && 1 < O && ((be ? Ge : ve).style["overflow-" + ge.a] = "scroll"), Zb(ie, L, r), F = ac(ie), n = Mt(ie, !0), c = me && J(ve, o ? Re : Ne)(), oe && ((U = [oe + ge.os2, z + v + kt]).t = L, (S = oe === St ? hb(ie, ge) + z + v : 0) && U.push(ge.d, S + kt), It(U), me && Ce(q)), me && ((a = { top: n.top + (o ? i - C : c) + kt, left: n.left + (o ? c : i - C) + kt, boxSizing: "border-box", position: "fixed" })[vt] = a.maxWidth = Math.ceil(n.width) + kt, a[bt] = a.maxHeight = Math.ceil(n.height) + kt, a[_t] = a[_t + xt] = a[_t + mt] = a[_t + wt] = a[_t + yt] = "0", a[St] = r[St], a[St + xt] = r[St + xt], a[St + mt] = r[St + mt], a[St + wt] = r[St + wt], a[St + yt] = r[St + yt], X = function _copyState(e, t, r) { for (var n, i = [], o = e.length, a = r ? 8 : 0; a < o; a += 2) n = e[a], i.push(n, n in t ? t[n] : e[a + 1]); return i.t = e.t, i }(Y, a, ue)), T ? (u = T._initted, at(1), T.render(T.duration(), !0, !0), N = H(ge.a) - R + z + v, z !== N && me && X.splice(X.length - 2, 2), T.render(0, !0, !0), u || T.invalidate(), at(0)) : N = z;
424                            else if (ne && Ce() && !fe)
425                                for (n = ne.parentNode; n && n !== Ge;) n._pinOffset && (C -= n._pinOffset, O -= n._pinOffset), n = n.parentNode;
426                            f && f.forEach(function(e) { return e.revert(!1) }), Se.start = C, Se.end = O, M = A = Ce(), fe || (M < q && Ce(q), Se.scroll.rec = 0), Se.revert(!1), j && (Me = -1, Se.isActive && Ce(C + z * Q), j.restart(!0)), rt = 0, T && he && (T._initted || G) && T.progress() !== G && T.progress(G, !0).render(T.time(), !0, !0), Q === Se.progress && !fe || (T && !he && T.totalProgress(Q, !0), Se.progress = Q, Se.update(0, 0, 1)), ie && oe && (L._pinOffset = Math.round(Se.progress * N)), te && te(Se) } }, Se.getVelocity = function() { return (Ce() - A) / (dt() - tt) * 1e3 || 0 }, Se.endAnimation = function() { Na(Se.callbackAnimation), T && (W ? W.progress(1) : T.paused() ? he || Na(T, Se.direction < 0, 1) : Na(T, T.reversed())) }, Se.labelToScroll = function(e) { return T && T.labels && (C || Se.refresh() || C) + T.labels[e] / T.duration() * z || 0 }, Se.getTrailing = function(t) { var e = Ot.indexOf(Se),
427                        r = 0 < Se.direction ? Ot.slice(0, e).reverse() : Ot.slice(e + 1); return (Ha(t) ? r.filter(function(e) { return e.vars.preventOverlaps === t }) : r).filter(function(e) { return 0 < Se.direction ? e.end <= C : e.start >= O }) }, Se.update = function(e, t, r) { if (!fe || r || e) { var n, i, o, a, s, l, c, u = Se.scroll(),
428                            f = e ? 0 : (u - C) / z,
429                            d = f < 0 ? 0 : 1 < f ? 1 : f || 0,
430                            p = Se.progress; if (t && (A = M, M = fe ? Ce() : u, ce && (V = S, S = T && !he ? T.totalProgress() : d)), se && !d && ie && !rt && !ft && pt && C < u + (u - A) / (dt() - tt) * se && (d = 1e-4), d !== p && Se.enabled) { if (a = (s = (n = Se.isActive = !!d && d < 1) != (!!p && p < 1)) || !!d != !!p, Se.direction = p < d ? 1 : -1, Se.progress = d, a && !rt && (i = d && !p ? 0 : 1 === d ? 1 : 1 === p ? 2 : 3, he && (o = !s && "none" !== xe[i + 1] && xe[i + 1] || xe[i], c = T && ("complete" === o || "reset" === o || o in T))), pe && (s || c
vendor: 11,619 bytes, lines 430-495
430) && (c || re || !T) && (Ia(pe) ? pe(Se) : Se.getTrailing(pe).forEach(function(e) { return e.endAnimation() })), he || (!W || rt || ft ? T && T.totalProgress(d, !!rt) : ((fe || ut && ut !== Se) && W.render(W._dp._time - W._start), W.resetTo ? W.resetTo("totalProgress", d, T._tTime / T._tDur) : (W.vars.totalProgress = d, W.invalidate().restart()))), ie)
431                                if (e && oe && (L.style[oe + ge.os2] = m), me) { if (a) { if (l = !e && p < d && u < O + 1 && u + 1 >= Fa(ve, ge), ue)
432                                            if (e || !n && !l) fc(ie, L);
433                                            else { var g = Mt(ie, !0),
434                                                    h = u - C;
435                                                fc(ie, Ge, g.top + (ge === Ne ? h : 0) + kt, g.left + (ge === Ne ? 0 : h) + kt) }
436                                        It(n || l ? X : F), N !== z && d < 1 && n || b(R + (1 !== d || l ? 0 : N)) } } else b(ya(R + N * d));
437                                !ce || k.tween || rt || ft || j.restart(!0), $ && (s || le && d && (d < 1 || !st)) && Ke($.targets).forEach(function(e) { return e.classList[n || le ? "add" : "remove"]($.className) }), !Z || he || e || Z(Se), a && !rt ? (he && (c && ("complete" === o ? T.pause().totalProgress(1) : "reset" === o ? T.restart(!0).pause() : "restart" === o ? T.restart(!0) : T[o]()), Z && Z(Se)), !s && st || (ee && s && Oa(Se, ee), ye[i] && Oa(Se, ye[i]), le && (1 === d ? Se.kill(!1, 1) : ye[i] = 0), s || ye[i = 1 === d ? 1 : 3] && Oa(Se, ye[i])), de && !n && Math.abs(Se.getVelocity()) > (Ja(de) ? de : 2500) && (Na(Se.callbackAnimation), W ? W.progress(1) : Na(T, !d, 1))) : he && Z && !rt && Z(Se) } if (w) { var v = fe ? u / fe.duration() * (fe._caScrollDist || 0) : u;
438                            x(v + (B._isFlipped ? 1 : 0)), w(v) }
439                        K && K(-u / fe.duration() * (fe._caScrollDist || 0)) } }, Se.enable = function(e, t) { Se.enabled || (Se.enabled = !0, nb(ve, "resize", Cb), nb(be ? Je : ve, "scroll", Ab), _e && nb(ScrollTrigger, "refreshInit", _e), !1 !== e && (Se.progress = Q = 0, M = A = Me = Ce()), !1 !== t && Se.refresh()) }, Se.getTween = function(e) { return e && k ? k.tween : W }, Se.setPositions = function(e, t) { ie && (R += e - C, N += t - e - z), Se.start = C = e, Se.end = O = t, z = t - e, Se.update() }, Se.disable = function(e, t) { if (Se.enabled && (!1 !== e && Se.revert(), Se.enabled = Se.isActive = !1, t || W && W.pause(), q = 0, n && (n.uncache = 1), _e && ob(ScrollTrigger, "refreshInit", _e), j && (j.pause(), k.tween && k.tween.kill() && (k.tween = 0)), !be)) { for (var r = Ot.length; r--;)
440                            if (Ot[r].scroller === ve && Ot[r] !== Se) return;
441                        ob(ve, "resize", Cb), ob(ve, "scroll", Ab) } }, Se.kill = function(e, t) { Se.disable(e, t), W && !t && W.kill(), a && delete Pt[a]; var r = Ot.indexOf(Se);
442                    0 <= r && Ot.splice(r, 1), r === it && 0 < Et && it--, r = 0, Ot.forEach(function(e) { return e.scroller === Se.scroller && (r = 1) }), r || (Se.scroll.rec = 0), T && (T.scrollTrigger = null, e && T.render(-1), t || T.kill()), P && [P, E, B, D].forEach(function(e) { return e.parentNode && e.parentNode.removeChild(e) }), ut === Se && (ut = 0), ie && (n && (n.uncache = 1), r = 0, Ot.forEach(function(e) { return e.pin === ie && r++ }), r || (n.spacer = 0)), _.onKill && _.onKill(Se) }, Se.enable(!1, !1), o && o(Se), T && T.add && !z ? We.delayedCall(.01, function() { return C || O || Se.refresh() }) && (z = .01) && (C = O = 0) : Se.refresh() } else this.update = this.refresh = this.kill = xa }, ScrollTrigger.register = function register(e) { return a || (We = e || Aa(), za() && window.document && ScrollTrigger.enable(), a = gt), a }, ScrollTrigger.defaults = function defaults(e) { if (e)
443                for (var t in e) Ct[t] = e[t]; return Ct }, ScrollTrigger.disable = function disable(t, r) { gt = 0, Ot.forEach(function(e) { return e[r ? "kill" : "disable"](t) }), ob(je, "wheel", Ab), ob(Je, "scroll", Ab), clearInterval(c), ob(Je, "touchcancel", xa), ob(Ge, "touchstart", xa), mb(ob, Je, "pointerdown,touchstart,mousedown", va), mb(ob, Je, "pointerup,touchend,mouseup", wa), l.kill(), Ga(ob); for (var e = 0; e < T.length; e += 3) pb(ob, T[e], T[e + 1]), pb(ob, T[e], T[e + 2]) }, ScrollTrigger.enable = function enable() { if (je = window, Je = document, qe = Je.documentElement, Ge = Je.body, We && (Ke = We.utils.toArray, et = We.utils.clamp, at = We.core.suppressOverwrites || xa, We.core.globals("ScrollTrigger", ScrollTrigger), Ge)) { gt = 1, k.register(We), ScrollTrigger.isTouch = k.isTouch, C = k.isTouch && /(iPad|iPhone|iPod|Mac)/g.test(navigator.userAgent), nb(je, "wheel", Ab), s = [je, Je, qe, Ge], ScrollTrigger.matchMedia({ "(orientation: portrait)": function orientationPortrait() { return Bb(), Bb } }), nb(Je, "scroll", Ab); var e, t, r = Ge.style,
444                    n = r.borderTopStyle; for (r.borderTopStyle = "solid", e = Mt(Ge), Ne.m = Math.round(e.top + Ne.sc()) || 0, Re.m = Math.round(e.left + Re.sc()) || 0, n ? r.borderTopStyle = n : r.removeProperty("border-top-style"), c = setInterval(zb, 250), We.delayedCall(.5, function() { return ft = 0 }), nb(Je, "touchcancel", xa), nb(Ge, "touchstart", xa), mb(nb, Je, "pointerdown,touchstart,mousedown", va), mb(nb, Je, "pointerup,touchend,mouseup", wa), u = We.utils.checkPrefix("transform"), re.push(u), a = dt(), l = We.delayedCall(.2, Z).pause(), p = [Je, "visibilitychange", function() { var e = je.innerWidth,
445                            t = je.innerHeight;
446                        Je.hidden ? (f = e, d = t) : f === e && d === t || Cb() }, Je, "DOMContentLoaded", Z, je, "load", Z, je, "resize", Cb], Ga(nb), Ot.forEach(function(e) { return e.enable(0, 1) }), t = 0; t < T.length; t += 3) pb(ob, T[t], T[t + 1]), pb(ob, T[t], T[t + 2]) } }, ScrollTrigger.config = function config(e) { "limitCallbacks" in e && (st = !!e.limitCallbacks); var t = e.syncInterval;
447            t && clearInterval(c) || (c = t) && setInterval(zb, t), "ignoreMobileResize" in e && (v = 1 === ScrollTrigger.isTouch && e.ignoreMobileResize), "autoRefreshEvents" in e && (Ga(ob) || Ga(nb, e.autoRefreshEvents || "none"), g = -1 === (e.autoRefreshEvents + "").indexOf("resize")) }, ScrollTrigger.scrollerProxy = function scrollerProxy(e, t) { var r = I(e),
448                n = T.indexOf(r),
449                i = Ba(r);~n && T.splice(n, i ? 6 : 2), t && (i ? Le.unshift(je, t, Ge, t, qe, t) : Le.unshift(r, t)) }, ScrollTrigger.matchMedia = function matchMedia(e) { var t, r, n, i, o; for (r in e) n = U.indexOf(r), i = e[r], "all" === (lt = r) ? i() : (t = je.matchMedia(r)) && (t.matches && (o = i()), ~n ? (U[n + 1] = Ma(U[n + 1], i), U[n + 2] = Ma(U[n + 2], o)) : (n = U.length, U.push(r, i, o), t.addListener ? t.addListener(Ib) : t.addEventListener("change", Ib)), U[n + 3] = t.matches), lt = 0; return U }, ScrollTrigger.clearMatchMedia = function clearMatchMedia(e) { e || (U.length = 0), 0 <= (e = U.indexOf(e)) && U.splice(e, 4) }, ScrollTrigger.isInViewport = function isInViewport(e, t, r) { var n = (Ha(e) ? I(e) : e).getBoundingClientRect(),
450                i = n[r ? vt : bt] * t || 0; return r ? 0 < n.right - i && n.left + i < je.innerWidth : 0 < n.bottom - i && n.top + i < je.innerHeight }, ScrollTrigger.positionInViewport = function positionInViewport(e, t, r) { Ha(e) && (e = I(e)); var n = e.getBoundingClientRect(),
451                i = n[r ? vt : bt],
452                o = null == t ? i / 2 : t in Y ? Y[t] * i : ~t.indexOf("%") ? parseFloat(t) * i / 100 : parseFloat(t) || 0; return r ? (n.left + o) / je.innerWidth : (n.top + o) / je.innerHeight }, ScrollTrigger);
453
454    function ScrollTrigger(e, t) { a || ScrollTrigger.register(We) || console.warn("Please gsap.registerPlugin(ScrollTrigger)"), this.init(e, t) }
455    oe.version = "3.10.4", oe.saveStyles = function(e) { return e ? Ke(e).forEach(function(e) { if (e && e.style) { var t = W.indexOf(e);
456                0 <= t && W.splice(t, 5), W.push(e, e.style.cssText, e.getBBox && e.getAttribute("transform"), We.core.getCache(e), lt) } }) : W }, oe.revert = function(e, t) { return Q(!e, t) }, oe.create = function(e, t) { return new oe(e, t) }, oe.refresh = function(e) { return e ? Cb() : (a || oe.register()) && Z(!0) }, oe.update = ee, oe.clearScrollMemory = Ob, oe.maxScroll = function(e, t) { return Fa(e, t ? Re : Ne) }, oe.getScrollFunc = function(e, t) { return J(I(e), t ? Re : Ne) }, oe.getById = function(e) { return Pt[e] }, oe.getAll = function() { return Ot.filter(function(e) { return "ScrollSmoother" !== e.vars.id }) }, oe.isScrolling = function() { return !!pt }, oe.snapDirectional = kb, oe.addEventListener = function(e, t) { var r = H[e] || (H[e] = []);~r.indexOf(t) || r.push(t) }, oe.removeEventListener = function(e, t) { var r = H[e],
457            n = r && r.indexOf(t);
458        0 <= n && r.splice(n, 1) }, oe.batch = function(e, t) {
459        function to(e, t) { var r = [],
460                n = [],
461                i = We.delayedCall(o, function() { t(r, n), r = [], n = [] }).pause(); return function(e) { r.length || i.restart(!0), r.push(e.trigger), n.push(e), a <= r.length && i.progress(1) } } var r, n = [],
462            i = {},
463            o = t.interval || .016,
464            a = t.batchMax || 1e9; for (r in t) i[r] = "on" === r.substr(0, 2) && Ia(t[r]) && "onRefreshInit" !== r ? to(0, t[r]) : t[r]; return Ia(a) && (a = a(), nb(oe, "refresh", function() { return a = t.batchMax() })), Ke(e).forEach(function(e) { var t = {}; for (r in i) t[r] = i[r];
465            t.trigger = e, n.push(oe.create(t)) }), n };
466
467    function ic(e, t, r, n) { return n < t ? e(n) : t < 0 && e(0), n < r ? (n - t) / (r - t) : r < 0 ? t / (t - r) : 1 }
468
469    function jc(e, t) {!0 === t ? e.style.removeProperty("touch-action") : e.style.touchAction = !0 === t ? "auto" : t ? "pan-" + t + (k.isTouch ? " pinch-zoom" : "") : "none", e === qe && jc(Ge, t) }
470
471    function lc(e) { var t, r = e.event,
472            n = e.target,
473            i = e.axis,
474            o = (r.changedTouches ? r.changedTouches[0] : r).target,
475            a = o._gsap || We.core.getCache(o),
476            s = dt(); if (!a._isScrollT || 2e3 < s - a._isScrollT) { for (; o && o.scrollHeight <= o.clientHeight;) o = o.parentNode;
477            a._isScroll = o && !Ba(o) && o !== n && (se[(t = db(o)).overflowY] || se[t.overflowX]), a._isScrollT = s }!a._isScroll && "x" !== i || (r._gsapAllow = !0) }
478
479    function mc(e, t, r, n) { return k.create({ target: e, capture: !0, debounce: !1, lockAxis: !0, type: t, onWheel: n = n && lc, onPress: n, onDrag: n, onScroll: n, onEnable: function onEnable() { return r && nb(Je, k.eventTypes[0], ce, !1, !0) }, onDisable: function onDisable() { return ob(Je, k.eventTypes[0], ce, !0) } }) }
480
481    function qc(e) {
482        function op() { return n = !1 }
483
484        function rp() { o = Fa(d, Ne), _ = et(C ? 1 : 0, o), f && (S = et(0, Fa(d, Re))), a = G }
485
486        function xp() { rp(), s.isActive() && s.vars.scrollY > o && (h() > o ? s.progress(1) && h(o) : s.resetTo("scrollY", o)) }
487        Ka(e) || (e = {}), e.preventDefault = e.isNormalizer = e.allowClicks = !0, e.type || (e.type = "wheel,touch"), e.debounce = !!e.debounce, e.id = e.id || "normalizer"; var r, o, n, a, s, l, c, u, f = e.normalizeScrollX,
488            t = e.momentum,
489            i = e.allowNestedScroll,
490            d = I(e.target) || qe,
491            p = We.core.globals().ScrollSmoother,
492            g = C && (e.content && I(e.content) || p && p.get() && p.get().content()),
493            h = J(d, Ne),
494            v = J(d, Re),
495            b = 1,
496            m = (k.isTouch && je.visualViewport ? je.visualViewport.scale * je.visualViewport.width : je.outerWidth) / je.innerWidth,
497            y = 0,
498            x = Ia(t) ? function() { return t(r) } : function() { return t || 2.8 },
499            w = mc(d, e.type, !0, i),
500            S = xa,
501            _ = xa; return e.ignoreCheck = function(e) { return C && "touchmove" === e.type && function ignoreDrag() { if (n) { requestAnimationFrame(op); var e = ya(r.deltaY / 2),
502                        t = _(h.v - e); return g && t !== h.v + h.offset && (h.offset = t - h.v, g.style.transform = "translateY(" + -h.offset + "px)", g._gsap && (g._gsap.y = -h.offset + "px"), h.cacheID = T.cache, ee()), !0 }
503                g && (g.style.transform = "translateY(0px)", h.offset = h.cacheID = 0, g._gsap && (g._gsap.y = "0px")), n = !0 }() || 1.05 < b && "touchstart" !== e.type || r.isGesturing || e.touches && 1 < e.touches.length }, e.onPress = function() { var e = b;
504            b = ya((je.visualViewport && je.visualViewport.scale || 1) / m), s.pause(), e !== b && jc(d, 1.01 < b || !f && "x"), n = !1, l = v(), c = h(), rp(), a = G }, e.onRelease = e.onGestureStart = function(e, t) { if (g && (g.style.transform = "translateY(0px)", h.offset = h.cacheID = 0, g._gsap && (g._gsap.y = "0px")), t) { T.cache++; var r, n, i = x();
505                f && (n = (r = v()) + .05 * i * -e.velocityX / .227, i *= ic(v, r, n, Fa(d, Re)), s.vars.scrollX = S(n)), n = (r = h()) + .05 * i * -e.velocityY / .227, i *= ic(h, r, n, Fa(d, Ne)), s.vars.scrollY = _(n), s.invalidate().duration(i).play(.01), (C && s.vars.scrollY >= o || o - 1 <= r) && We.to({}, { onUpdate: xp, duration: i }) } else u.restart(!0) }, e.onWheel = function() { s._ts && s.pause(), 1e3 < dt() - y && (a = 0, y = dt()) }, e.onChange = function(e, t, r, n, i) { G !== a && rp(), t && f && v(S(n[2] === t ? l + (e.startX - e.x) : v() + t - n[1])), r && h(_(i[2] === r ? c + (e.startY - e.y) : h() + r - i[1])), ee() }, e.onEnable = function() { jc(d, !f && "x"), nb(je, "resize", xp), w.enable() }, e.onDisable = function() { jc(d, !0), ob(je, "resize", xp), w.kill() }, ((r = new k(e)).iOS = C) && !h() && h(1), u = r._dc, s = We.to(r, { ease: "power4", paused: !0, scrollX: f ? "+=0.1" : "+=0", scrollY: "+=0.1", onComplete: u.vars.onComplete }), r } var ae, se = { auto: 1, scroll: 1 },
506        le = /(input|label|select|textarea)/i,
507        ce = function _captureInputs(e) { var t = le.test(e.target.tagName);
508            (t || ae) && (e._gsapAllow = !0, ae = t) };
509    oe.sort = function(e) { return Ot.sort(e || function(e, t) { return -1e6 * (e.vars.refreshPriority || 0) + e.start - (t.start + -1e6 * (t.vars.refreshPriority || 0)) }) }, oe.observe = function(e) { return new k(e) }, oe.normalizeScroll = function(e) { if (void 0 === e) return h; if (!0 === e && h) return h.enable(); if (!1 === e) return h && h.kill(); var t = e instanceof k ? e : qc(e); return h && h.target === t.target && h.kill(), Ba(t.target) && (h = t), t }, oe.core = { _getVelocityProp: K, _inputObserver: mc, _scrollers: T, _proxies: Le, bridge: { ss: function ss() { pt || V("scrollStart"), pt = dt() }, ref: function ref() { return rt } } }, Aa() && We.registerPlugin(oe), e.ScrollTrigger = oe, e.default = oe; if (typeof(window) === "undefined" || window !== e) { Object.defineProperty(e, "__esModule", { value: !0 }) } else { delete e.default } });

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.