Server IP : 103.191.208.50 / Your IP : 216.73.216.53 Web Server : LiteSpeed System : Linux orion.herosite.pro 4.18.0-553.53.1.lve.el8.x86_64 #1 SMP Wed May 28 17:01:02 UTC 2025 x86_64 User : celkcksm ( 1031) PHP Version : 7.4.33 Disable Function : show_source, system, shell_exec, passthru, popen, exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/celkcksm/public_html/frontend/assets/js/gsap/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
/*! * Draggable 3.11.4 * https://greensock.com * * @license Copyright 2022, GreenSock. All rights reserved. * Subject to the terms at https://greensock.com/standard-license or for Club GreenSock members, the agreement issued with that membership. * @author: Jack Doyle, jack@greensock.com */ ! 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"; function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e } function w(e, t) { if (e.parentNode && (h || T(e))) { var n = C(e), o = n ? n.getAttribute("xmlns") || "http://www.w3.org/2000/svg" : "http://www.w3.org/1999/xhtml", r = n ? t ? "rect" : "g" : "div", i = 2 !== t ? 0 : 100, a = 3 === t ? 100 : 0, l = "position:absolute;display:block;pointer-events:none;margin:0;padding:0;", s = h.createElementNS ? h.createElementNS(o.replace(/^https/, "http"), r) : h.createElement(r); return t && (n ? (g = g || w(e), s.setAttribute("width", .01), s.setAttribute("height", .01), s.setAttribute("transform", "translate(" + i + "," + a + ")"), g.appendChild(s)) : (f || ((f = w(e)).style.cssText = l), s.style.cssText = l + "width:0.1px;height:0.1px;top:" + a + "px;left:" + i + "px", f.appendChild(s))), s } throw "Need document and parent." } function A(e, t, n, o, r, i, a) { return e.a = t, e.b = n, e.c = o, e.d = r, e.e = i, e.f = a, e } var h, u, r, i, f, g, x, y, m, t, v = "transform", b = v + "Origin", T = function _setDoc(e) { var t = e.ownerDocument || e; !(v in e.style) && "msTransform" in e.style && (b = (v = "msTransform") + "Origin"); for (; t.parentNode && (t = t.parentNode);); if (u = window, x = new ge, t) { r = (h = t).documentElement, i = t.body, (y = h.createElementNS("http://www.w3.org/2000/svg", "g")).style.transform = "none"; var n = t.createElement("div"), o = t.createElement("div"); i.appendChild(n), n.appendChild(o), n.style.position = "static", n.style[v] = "translate3d(0,0,1px)", m = o.offsetParent !== n, i.removeChild(n) } return t }, E = function _forceNonZeroScale(e) { for (var t, n; e && e !== i;)(n = e._gsap) && n.uncache && n.get(e, "x"), n && !n.scaleX && !n.scaleY && n.renderTransform && (n.scaleX = n.scaleY = 1e-4, n.renderTransform(1, n), t ? t.push(n) : t = [n]), e = e.parentNode; return t }, M = [], P = [], D = function _getDocScrollTop() { return u.pageYOffset || h.scrollTop || r.scrollTop || i.scrollTop || 0 }, S = function _getDocScrollLeft() { return u.pageXOffset || h.scrollLeft || r.scrollLeft || i.scrollLeft || 0 }, C = function _svgOwner(e) { return e.ownerSVGElement || ("svg" === (e.tagName + "").toLowerCase() ? e : null) }, L = function _isFixed(e) { return "fixed" === u.getComputedStyle(e).position || ((e = e.parentNode) && 1 === e.nodeType ? _isFixed(e) : void 0) }, N = function _placeSiblings(e, t) { var n, o, r, i, a, l, s = C(e), c = e === s, d = s ? M : P, p = e.parentNode; if (e === u) return e; if (d.length || d.push(w(e, 1), w(e, 2), w(e, 3)), n = s ? g : f, s) c ? (i = -(r = function _getCTM(e) { var t, n = e.getCTM(); return n || (t = e.style[v], e.style[v] = "none", e.appendChild(y), n = y.getCTM(), e.removeChild(y), t ? e.style[v] = t : e.style.removeProperty(v.replace(/([A-Z])/g, "-$1").toLowerCase())), n || x.clone() }(e)).e / r.a, a = -r.f / r.d, o = x) : e.getBBox ? (r = e.getBBox(), i = (o = (o = e.transform ? e.transform.baseVal : {}).numberOfItems ? 1 < o.numberOfItems ? function _consolidate(e) { for (var t = new ge, n = 0; n < e.numberOfItems; n++) t.multiply(e.getItem(n).matrix); return t }(o) : o.getItem(0).matrix : x).a * r.x + o.c * r.y, a = o.b * r.x + o.d * r.y) : (o = new ge, i = a = 0), t && "g" === e.tagName.toLowerCase() && (i = a = 0), (c ? s : p).appendChild(n), n.setAttribute("transform", "matrix(" + o.a + "," + o.b + "," + o.c + "," + o.d + "," + (o.e + i) + "," + (o.f + a) + ")"); else { if (i = a = 0, m) for (o = e.offsetParent, r = e; (r = r && r.parentNode) && r !== o && r.parentNode;) 4 < (u.getComputedStyle(r)[v] + "").length && (i = r.offsetLeft, a = r.offsetTop, r = 0); if ("absolute" !== (l = u.getComputedStyle(e)).position && "fixed" !== l.position) for (o = e.offsetParent; p && p !== o;) i += p.scrollLeft || 0, a += p.scrollTop || 0, p = p.parentNode; (r = n.style).top = e.offsetTop - a + "px", r.left = e.offsetLeft - i + "px", r[v] = l[v], r[b] = l[b], r.position = "fixed" === l.position ? "fixed" : "absolute", e.parentNode.appendChild(n) } return n }, ge = ((t = Matrix2D.prototype).inverse = function inverse() { var e = this.a, t = this.b, n = this.c, o = this.d, r = this.e, i = this.f, a = e * o - t * n || 1e-10; return A(this, o / a, -t / a, -n / a, e / a, (n * i - o * r) / a, -(e * i - t * r) / a) }, t.multiply = function multiply(e) { var t = this.a, n = this.b, o = this.c, r = this.d, i = this.e, a = this.f, l = e.a, s = e.c, c = e.b, d = e.d, p = e.e, u = e.f; return A(this, l * t + c * o, l * n + c * r, s * t + d * o, s * n + d * r, i + p * t + u * o, a + p * n + u * r) }, t.clone = function clone() { return new Matrix2D(this.a, this.b, this.c, this.d, this.e, this.f) }, t.equals = function equals(e) { var t = this.a, n = this.b, o = this.c, r = this.d, i = this.e, a = this.f; return t === e.a && n === e.b && o === e.c && r === e.d && i === e.e && a === e.f }, t.apply = function apply(e, t) { void 0 === t && (t = {}); var n = e.x, o = e.y, r = this.a, i = this.b, a = this.c, l = this.d, s = this.e, c = this.f; return t.x = n * r + o * a + s || 0, t.y = n * i + o * l + c || 0, t }, Matrix2D); function Matrix2D(e, t, n, o, r, i) { void 0 === e && (e = 1), void 0 === t && (t = 0), void 0 === n && (n = 0), void 0 === o && (o = 1), void 0 === r && (r = 0), void 0 === i && (i = 0), A(this, e, t, n, o, r, i) } function getGlobalMatrix(e, t, n, o) { if (!e || !e.parentNode || (h || T(e)).documentElement === e) return new ge; var r = E(e), i = C(e) ? M : P, a = N(e, n), l = i[0].getBoundingClientRect(), s = i[1].getBoundingClientRect(), c = i[2].getBoundingClientRect(), d = a.parentNode, p = !o && L(e), u = new ge((s.left - l.left) / 100, (s.top - l.top) / 100, (c.left - l.left) / 100, (c.top - l.top) / 100, l.left + (p ? 0 : S()), l.top + (p ? 0 : D())); if (d.removeChild(a), r) for (l = r.length; l--;)(s = r[l]).scaleX = s.scaleY = 0, s.renderTransform(1, s); return t ? u.inverse() : u } function W() { return "undefined" != typeof window } function X() { return xe || W() && (xe = window.gsap) && xe.registerPlugin && xe } function Y(e) { return "function" == typeof e } function Z(e) { return "object" == typeof e } function $(e) { return void 0 === e } function _() { return !1 } function ca(e) { return Math.round(1e4 * e) / 1e4 } function ea(e, t) { var n = me.createElementNS ? me.createElementNS((t || "http://www.w3.org/1999/xhtml").replace(/^https/, "http"), e) : me.createElement(e); return n.style ? n : me.createElement(e) } function qa(e, t) { var n, o = {}; for (n in e) o[n] = t ? e[n] * t : e[n]; return o } function sa(e, t) { for (var n, o = e.length; o--;) t ? e[o].style.touchAction = t : e[o].style.removeProperty("touch-action"), (n = e[o].children) && n.length && sa(n, t) } function ta() { return Re.forEach(function(e) { return e() }) } function va() { return !Re.length && xe.ticker.remove(ta) } function wa(e) { for (var t = Re.length; t--;) Re[t] === e && Re.splice(t, 1); xe.to(va, { overwrite: !0, delay: 15, duration: 0, onComplete: va, data: "_draggable" }) } function ya(e, t, n, o) { if (e.addEventListener) { var r = Me[t]; o = o || (d ? { passive: !1 } : null), e.addEventListener(r || t, n, o), r && t !== r && e.addEventListener(t, n, o) } } function za(e, t, n, o) { if (e.removeEventListener) { var r = Me[t]; e.removeEventListener(r || t, n, o), r && t !== r && e.removeEventListener(t, n, o) } } function Aa(e) { e.preventDefault && e.preventDefault(), e.preventManipulation && e.preventManipulation() } function Ca(e) { Pe = e.touches && Le < e.touches.length, za(e.target, "touchend", Ca) } function Da(e) { Pe = e.touches && Le < e.touches.length, ya(e.target, "touchend", Ca) } function Ea(e) { return ye.pageYOffset || e.scrollTop || e.documentElement.scrollTop || e.body.scrollTop || 0 } function Fa(e) { return ye.pageXOffset || e.scrollLeft || e.documentElement.scrollLeft || e.body.scrollLeft || 0 } function Ga(e, t) { ya(e, "scroll", t), We(e.parentNode) || Ga(e.parentNode, t) } function Ha(e, t) { za(e, "scroll", t), We(e.parentNode) || Ha(e.parentNode, t) } function Ja(e, t) { var n = "x" === t ? "Width" : "Height", o = "scroll" + n, r = "client" + n; return Math.max(0, We(e) ? Math.max(ve[o], l[o]) - (ye["inner" + n] || ve[r] || l[r]) : e[o] - e[r]) } function Ka(e, t) { var n = Ja(e, "x"), o = Ja(e, "y"); We(e) ? e = He : Ka(e.parentNode, t), e._gsMaxScrollX = n, e._gsMaxScrollY = o, t || (e._gsScrollX = e.scrollLeft || 0, e._gsScrollY = e.scrollTop || 0) } function La(e, t, n) { var o = e.style; o && ($(o[t]) && (t = c(t, e) || t), null == n ? o.removeProperty && o.removeProperty(t.replace(/([A-Z])/g, "-$1").toLowerCase()) : o[t] = n) } function Ma(e) { return ye.getComputedStyle(e instanceof Element ? e : e.host || (e.parentNode || {}).host || e) } function Oa(e) { if (e === ye) return p.left = p.top = 0, p.width = p.right = ve.clientWidth || e.innerWidth || l.clientWidth || 0, p.height = p.bottom = (e.innerHeight || 0) - 20 < ve.clientHeight ? ve.clientHeight : e.innerHeight || l.clientHeight || 0, p; var t = e.ownerDocument || me, n = $(e.pageX) ? e.nodeType || $(e.left) || $(e.top) ? Te(e)[0].getBoundingClientRect() : e : { left: e.pageX - Fa(t), top: e.pageY - Ea(t), right: e.pageX - Fa(t) + 1, bottom: e.pageY - Ea(t) + 1 }; return $(n.right) && !$(n.width) ? (n.right = n.left + n.width, n.bottom = n.top + n.height) : $(n.width) && (n = { width: n.right - n.left, height: n.bottom - n.top, right: n.right, left: n.left, bottom: n.bottom, top: n.top }), n } function Pa(e, t, n) { var o, r = e.vars, i = r[n], a = e._listeners[t]; return Y(i) && (o = i.apply(r.callbackScope || e, r[n + "Params"] || [e.pointerEvent])), a && !1 === e.dispatchEvent(t) && (o = !1), o } function Qa(e, t) { var n, o, r, i = Te(e)[0]; return i.nodeType || i === ye ? B(i, t) : $(e.left) ? { left: o = e.min || e.minX || e.minRotation || 0, top: n = e.min || e.minY || 0, width: (e.max || e.maxX || e.maxRotation || 0) - o, height: (e.max || e.maxY || 0) - n } : (r = { x: 0, y: 0 }, { left: e.left - r.x, top: e.top - r.y, width: e.width, height: e.height }) } function Ta(r, i, e, t, a, n) { var o, l, s, c = {}; if (i) if (1 !== a && i instanceof Array) { if (c.end = o = [], s = i.length, Z(i[0])) for (l = 0; l < s; l++) o[l] = qa(i[l], a); else for (l = 0; l < s; l++) o[l] = i[l] * a; e += 1.1, t -= 1.1 } else Y(i) ? c.end = function(e) { var t, n, o = i.call(r, e); if (1 !== a) if (Z(o)) { for (n in t = {}, o) t[n] = o[n] * a; o = t } else o *= a; return o } : c.end = i; return !e && 0 !== e || (c.max = e), !t && 0 !== t || (c.min = t), n && (c.velocity = 0), c } function Ua(e) { var t; return !(!e || !e.getAttribute || e === l) && (!("true" !== (t = e.getAttribute("data-clickable")) && ("false" === t || !e.onclick && !o.test(e.nodeName + "") && "true" !== e.getAttribute("contentEditable"))) || Ua(e.parentNode)) } function Va(e, t) { for (var n, o = e.length; o--;)(n = e[o]).ondragstart = n.onselectstart = t ? null : _, xe.set(n, { lazy: !0, userSelect: t ? "text" : "none" }) } function Za(i, r) { i = xe.utils.toArray(i)[0], r = r || {}; var a, l, s, e, c, d, p = document.createElement("div"), u = p.style, t = i.firstChild, h = 0, f = 0, g = i.scrollTop, x = i.scrollLeft, y = i.scrollWidth, m = i.scrollHeight, v = 0, w = 0, b = 0; k && !1 !== r.force3D ? (c = "translate3d(", d = "px,0px)") : R && (c = "translate(", d = "px)"), this.scrollTop = function(e, t) { if (!arguments.length) return -this.top(); this.top(-e, t) }, this.scrollLeft = function(e, t) { if (!arguments.length) return -this.left(); this.left(-e, t) }, this.left = function(e, t) { if (!arguments.length) return -(i.scrollLeft + f); var n = i.scrollLeft - x, o = f; if ((2 < n || n < -2) && !t) return x = i.scrollLeft, xe.killTweensOf(this, { left: 1, scrollLeft: 1 }), this.left(-x), void(r.onKill && r.onKill()); (e = -e) < 0 ? (f = e - .5 | 0, e = 0) : w < e ? (f = e - w | 0, e = w) : f = 0, (f || o) && (this._skip || (u[R] = c + -f + "px," + -h + d), 0 <= f + v && (u.paddingRight = f + v + "px")), i.scrollLeft = 0 | e, x = i.scrollLeft }, this.top = function(e, t) { if (!arguments.length) return -(i.scrollTop + h); var n = i.scrollTop - g, o = h; if ((2 < n || n < -2) && !t) return g = i.scrollTop, xe.killTweensOf(this, { top: 1, scrollTop: 1 }), this.top(-g), void(r.onKill && r.onKill()); (e = -e) < 0 ? (h = e - .5 | 0, e = 0) : b < e ? (h = e - b | 0, e = b) : h = 0, (h || o) && (this._skip || (u[R] = c + -f + "px," + -h + d)), i.scrollTop = 0 | e, g = i.scrollTop }, this.maxScrollTop = function() { return b }, this.maxScrollLeft = function() { return w }, this.disable = function() { for (t = p.firstChild; t;) e = t.nextSibling, i.appendChild(t), t = e; i === p.parentNode && i.removeChild(p) }, this.enable = function() { if ((t = i.firstChild) !== p) { for (; t;) e = t.nextSibling, p.appendChild(t), t = e; i.appendChild(p), this.calibrate() } }, this.calibrate = function(e) { var t, n, o, r = i.clientWidth === a; g = i.scrollTop, x = i.scrollLeft, r && i.clientHeight === l && p.offsetHeight === s && y === i.scrollWidth && m === i.scrollHeight && !e || ((h || f) && (n = this.left(), o = this.top(), this.left(-i.scrollLeft), this.top(-i.scrollTop)), t = Ma(i), r && !e || (u.display = "block", u.width = "auto", u.paddingRight = "0px", (v = Math.max(0, i.scrollWidth - i.clientWidth)) && (v += parseFloat(t.paddingLeft) + (O ? parseFloat(t.paddingRight) : 0))), u.display = "inline-block", u.position = "relative", u.overflow = "visible", u.verticalAlign = "top", u.boxSizing = "content-box", u.width = "100%", u.paddingRight = v + "px", O && (u.paddingBottom = t.paddingBottom), a = i.clientWidth, l = i.clientHeight, y = i.scrollWidth, m = i.scrollHeight, w = i.scrollWidth - a, b = i.scrollHeight - l, s = p.offsetHeight, u.display = "block", (n || o) && (this.left(n), this.top(o))) }, this.content = p, this.element = i, this._skip = !1, this.enable() } function $a(e) { if (W() && document.body) { var t = window && window.navigator; ye = window, me = document, ve = me.documentElement, l = me.body, s = ea("div"), Xe = !!window.PointerEvent, (we = ea("div")).style.cssText = "visibility:hidden;height:1px;top:-1px;pointer-events:none;position:relative;clear:both;cursor:grab", Se = "grab" === we.style.cursor ? "grab" : "move", De = t && -1 !== t.userAgent.toLowerCase().indexOf("android"), Ee = "ontouchstart" in ve && "orientation" in ye || t && (0 < t.MaxTouchPoints || 0 < t.msMaxTouchPoints), o = ea("div"), r = ea("div"), i = r.style, a = l, i.display = "inline-block", i.position = "relative", o.style.cssText = "width:90px;height:40px;padding:10px;overflow:auto;visibility:hidden", o.appendChild(r), a.appendChild(o), n = r.offsetHeight + 18 > o.scrollHeight, a.removeChild(o), O = n, Me = function(e) { for (var t = e.split(","), n = (("onpointerdown" in s ? "pointerdown,pointermove,pointerup,pointercancel" : "onmspointerdown" in s ? "MSPointerDown,MSPointerMove,MSPointerUp,MSPointerCancel" : e).split(",")), o = {}, r = 4; - 1 < --r;) o[t[r]] = n[r], o[n[r]] = t[r]; try { ve.addEventListener("test", null, Object.defineProperty({}, "passive", { get: function get() { d = 1 } })) } catch (e) {} return o }("touchstart,touchmove,touchend,touchcancel"), ya(me, "touchcancel", _), ya(ye, "touchmove", _), l && l.addEventListener("touchstart", _), ya(me, "contextmenu", function() { for (var e in Be) Be[e].isPressed && Be[e].endDrag() }), xe = be = X() } var n, o, r, i, a; xe ? (Ye = xe.plugins.inertia, Ce = xe.core.context || function() {}, c = xe.utils.checkPrefix, R = c(R), _e = c(_e), Te = xe.utils.toArray, k = !!c("perspective")) : e && console.warn("Please gsap.registerPlugin(Draggable)") } var xe, ye, me, ve, l, s, we, be, c, Te, d, Ee, Me, Pe, De, Ye, Se, Xe, Ce, k, O, n, Le = 0, R = "transform", _e = "transformOrigin", Ne = Array.isArray, ke = 180 / Math.PI, Oe = 1e20, a = new ge, Ae = Date.now || function() { return (new Date).getTime() }, Re = [], Be = {}, Fe = 0, o = /^(?:a|input|textarea|button|select)$/i, ze = 0, Ie = {}, He = {}, We = function _isRoot(e) { return !(e && e !== ve && 9 !== e.nodeType && e !== me.body && e !== ye && e.nodeType && e.parentNode) }, p = {}, Ge = {}, B = function _getElementBounds(e, t) { t = Te(t)[0]; var n, o, r, i, a, l, s, c, d, p, u, h, f, g = e.getBBox && e.ownerSVGElement, x = e.ownerDocument || me; if (e === ye) r = Ea(x), o = (n = Fa(x)) + (x.documentElement.clientWidth || e.innerWidth || x.body.clientWidth || 0), i = r + ((e.innerHeight || 0) - 20 < x.documentElement.clientHeight ? x.documentElement.clientHeight : e.innerHeight || x.body.clientHeight || 0); else { if (t === ye || $(t)) return e.getBoundingClientRect(); n = r = 0, g ? (u = (p = e.getBBox()).width, h = p.height) : (e.viewBox && (p = e.viewBox.baseVal) && (n = p.x || 0, r = p.y || 0, u = p.width, h = p.height), u || (p = "border-box" === (f = Ma(e)).boxSizing, u = (parseFloat(f.width) || e.clientWidth || 0) + (p ? 0 : parseFloat(f.borderLeftWidth) + parseFloat(f.borderRightWidth)), h = (parseFloat(f.height) || e.clientHeight || 0) + (p ? 0 : parseFloat(f.borderTopWidth) + parseFloat(f.borderBottomWidth)))), o = u, i = h } return e === t ? { left: n, top: r, width: o - n, height: i - r } : (l = (a = getGlobalMatrix(t, !0).multiply(getGlobalMatrix(e))).apply({ x: n, y: r }), s = a.apply({ x: o, y: r }), c = a.apply({ x: o, y: i }), d = a.apply({ x: n, y: i }), { left: n = Math.min(l.x, s.x, c.x, d.x), top: r = Math.min(l.y, s.y, c.y, d.y), width: Math.max(l.x, s.x, c.x, d.x) - n, height: Math.max(l.y, s.y, c.y, d.y) - r }) }, F = ((n = EventDispatcher.prototype).addEventListener = function addEventListener(e, t) { var n = this._listeners[e] || (this._listeners[e] = []); ~n.indexOf(t) || n.push(t) }, n.removeEventListener = function removeEventListener(e, t) { var n = this._listeners[e], o = n && n.indexOf(t); 0 <= o && n.splice(o, 1) }, n.dispatchEvent = function dispatchEvent(t) { var n, o = this; return (this._listeners[t] || []).forEach(function(e) { return !1 === e.call(o, { type: t, target: o.target }) && (n = !1) }), n }, EventDispatcher); function EventDispatcher(e) { this._listeners = {}, this.target = e || this } var $e, z = (function _inheritsLoose(e, t) { e.prototype = Object.create(t.prototype), (e.prototype.constructor = e).__proto__ = t }(Draggable, $e = F), Draggable.register = function register(e) { xe = e, $a() }, Draggable.create = function create(e, t) { return be || $a(!0), Te(e).map(function(e) { return new Draggable(e, t) }) }, Draggable.get = function get(e) { return Be[(Te(e)[0] || {})._gsDragID] }, Draggable.timeSinceDrag = function timeSinceDrag() { return (Ae() - ze) / 1e3 }, Draggable.hitTest = function hitTest(e, t, n) { if (e === t) return !1; var o, r, i, a = Oa(e), l = Oa(t), s = a.top, c = a.left, d = a.right, p = a.bottom, u = a.width, h = a.height, f = l.left > d || l.right < c || l.top > p || l.bottom < s; return f || !n ? !f : (i = -1 !== (n + "").indexOf("%"), n = parseFloat(n) || 0, (o = { left: Math.max(c, l.left), top: Math.max(s, l.top) }).width = Math.min(d, l.right) - o.left, o.height = Math.min(p, l.bottom) - o.top, !(o.width < 0 || o.height < 0) && (i ? u * h * (n *= .01) <= (r = o.width * o.height) || r >= l.width * l.height * n : o.width > n && o.height > n)) }, Draggable); function Draggable(h, p) { var e; e = $e.call(this) || this, be || $a(1), h = Te(h)[0], Ye = Ye || xe.plugins.inertia, e.vars = p = qa(p || {}), e.target = h, e.x = e.y = e.rotation = 0, e.dragResistance = parseFloat(p.dragResistance) || 0, e.edgeResistance = isNaN(p.edgeResistance) ? 1 : parseFloat(p.edgeResistance) || 0, e.lockAxis = p.lockAxis, e.autoScroll = p.autoScroll || 0, e.lockedAxis = null, e.allowEventDefault = !!p.allowEventDefault, xe.getProperty(h, "x"); function Pg(e, t) { return parseFloat(se.get(h, e, t)) } function wh(e) { return Aa(e), e.stopImmediatePropagation && e.stopImmediatePropagation(), !1 } function xh(e) { if (j.autoScroll && j.isDragging && (te || L)) { var t, n, o, r, i, a, l, s, c = h, d = 15 * j.autoScroll; for (te = !1, He.scrollTop = null != ye.pageYOffset ? ye.pageYOffset : null != de.documentElement.scrollTop ? de.documentElement.scrollTop : de.body.scrollTop, He.scrollLeft = null != ye.pageXOffset ? ye.pageXOffset : null != de.documentElement.scrollLeft ? de.documentElement.scrollLeft : de.body.scrollLeft, r = j.pointerX - He.scrollLeft, i = j.pointerY - He.scrollTop; c && !n;) t = (n = We(c.parentNode)) ? He : c.parentNode, o = n ? { bottom: Math.max(ve.clientHeight, ye.innerHeight || 0), right: Math.max(ve.clientWidth, ye.innerWidth || 0), left: 0, top: 0 } : t.getBoundingClientRect(), a = l = 0, U && ((s = t._gsMaxScrollY - t.scrollTop) < 0 ? l = s : i > o.bottom - re && s ? (te = !0, l = Math.min(s, d * (1 - Math.max(0, o.bottom - i) / re) | 0)) : i < o.top + ne && t.scrollTop && (te = !0, l = -Math.min(t.scrollTop, d * (1 - Math.max(0, i - o.top) / ne) | 0)), l && (t.scrollTop += l)), J && ((s = t._gsMaxScrollX - t.scrollLeft) < 0 ? a = s : r > o.right - oe && s ? (te = !0, a = Math.min(s, d * (1 - Math.max(0, o.right - r) / oe) | 0)) : r < o.left + ie && t.scrollLeft && (te = !0, a = -Math.min(t.scrollLeft, d * (1 - Math.max(0, r - o.left) / ie) | 0)), a && (t.scrollLeft += a)), n && (a || l) && (ye.scrollTo(t.scrollLeft, t.scrollTop), he(j.pointerX + a, j.pointerY + l)), c = t } if (L) { var p = j.x, u = j.y; G ? (j.deltaX = p - parseFloat(se.rotation), j.rotation = p, se.rotation = p + "deg", se.renderTransform(1, se)) : f ? (U && (j.deltaY = u - f.top(), f.top(u)), J && (j.deltaX = p - f.left(), f.left(p))) : W ? (U && (j.deltaY = u - parseFloat(se.y), se.y = u + "px"), J && (j.deltaX = p - parseFloat(se.x), se.x = p + "px"), se.renderTransform(1, se)) : (U && (j.deltaY = u - parseFloat(h.style.top || 0), h.style.top = u + "px"), J && (j.deltaX = p - parseFloat(h.style.left || 0), h.style.left = p + "px")), !g || e || F || (!(F = !0) === Pa(j, "drag", "onDrag") && (J && (j.x -= j.deltaX), U && (j.y -= j.deltaY), xh(!0)), F = !1) } L = !1 } function yh(e, t) { var n, o, r = j.x, i = j.y; h._gsap || (se = xe.core.getCache(h)), se.uncache && xe.getProperty(h, "x"), W ? (j.x = parseFloat(se.x), j.y = parseFloat(se.y)) : G ? j.x = j.rotation = parseFloat(se.rotation) : f ? (j.y = f.top(), j.x = f.left()) : (j.y = parseFloat(h.style.top || (o = Ma(h)) && o.top) || 0, j.x = parseFloat(h.style.left || (o || {}).left) || 0), (_ || N || k) && !t && (j.isDragging || j.isThrowing) && (k && (Ie.x = j.x, Ie.y = j.y, (n = k(Ie)).x !== j.x && (j.x = n.x, L = !0), n.y !== j.y && (j.y = n.y, L = !0)), _ && (n = _(j.x)) !== j.x && (j.x = n, G && (j.rotation = n), L = !0), N && ((n = N(j.y)) !== j.y && (j.y = n), L = !0)), L && xh(!0), e || (j.deltaX = j.x - r, j.deltaY = j.y - i, Pa(j, "throwupdate", "onThrowUpdate")) } function zh(a, l, s, n) { return null == l && (l = -Oe), null == s && (s = Oe), Y(a) ? function(e) { var t = j.isPressed ? 1 - j.edgeResistance : 1; return a.call(j, (s < e ? s + (e - s) * t : e < l ? l + (e - l) * t : e) * n) * n } : Ne(a) ? function(e) { for (var t, n, o = a.length, r = 0, i = Oe; - 1 < --o;)(n = (t = a[o]) - e) < 0 && (n = -n), n < i && l <= t && t <= s && (r = o, i = n); return a[r] } : isNaN(a) ? function(e) { return e } : function() { return a * n } } function Bh() { var e, t, n, o; M = !1, f ? (f.calibrate(), j.minX = D = -f.maxScrollLeft(), j.minY = X = -f.maxScrollTop(), j.maxX = P = j.maxY = S = 0, M = !0) : p.bounds && (e = Qa(p.bounds, h.parentNode), G ? (j.minX = D = e.left, j.maxX = P = e.left + e.width, j.minY = X = j.maxY = S = 0) : $(p.bounds.maxX) && $(p.bounds.maxY) ? (t = Qa(h, h.parentNode), j.minX = D = Math.round(Pg(V, "px") + e.left - t.left), j.minY = X = Math.round(Pg(K, "px") + e.top - t.top), j.maxX = P = Math.round(D + (e.width - t.width)), j.maxY = S = Math.round(X + (e.height - t.height))) : (e = p.bounds, j.minX = D = e.minX, j.minY = X = e.minY, j.maxX = P = e.maxX, j.maxY = S = e.maxY), P < D && (j.minX = P, j.maxX = P = D, D = j.minX), S < X && (j.minY = S, j.maxY = S = X, X = j.minY), G && (j.minRotation = D, j.maxRotation = P), M = !0), p.liveSnap && (n = !0 === p.liveSnap ? p.snap || {} : p.liveSnap, o = Ne(n) || Y(n), G ? (_ = zh(o ? n : n.rotation, D, P, 1), N = null) : n.points ? k = function buildPointSnapFunc(s, l, c, d, p, u, h) { return u = u && u < Oe ? u * u : Oe, Y(s) ? function(e) { var t, n, o, r = j.isPressed ? 1 - j.edgeResistance : 1, i = e.x, a = e.y; return e.x = i = c < i ? c + (i - c) * r : i < l ? l + (i - l) * r : i, e.y = a = p < a ? p + (a - p) * r : a < d ? d + (a - d) * r : a, (t = s.call(j, e)) !== e && (e.x = t.x, e.y = t.y), 1 !== h && (e.x *= h, e.y *= h), u < Oe && (n = e.x - i, o = e.y - a, u < n * n + o * o && (e.x = i, e.y = a)), e } : Ne(s) ? function(e) { for (var t, n, o, r, i = s.length, a = 0, l = Oe; - 1 < --i;)(r = (t = (o = s[i]).x - e.x) * t + (n = o.y - e.y) * n) < l && (a = i, l = r); return l <= u ? s[a] : e } : function(e) { return e } }(o ? n : n.points, D, P, X, S, n.radius, f ? -1 : 1) : (J && (_ = zh(o ? n : n.x || n.left || n.scrollLeft, D, P, f ? -1 : 1)), U && (N = zh(o ? n : n.y || n.top || n.scrollTop, X, S, f ? -1 : 1)))) } function Ch() { j.isThrowing = !1, Pa(j, "throwcomplete", "onThrowComplete") } function Dh() { j.isThrowing = !1 } function Eh(e, t) { var n, o, r, i; e && Ye ? (!0 === e && (n = p.snap || p.liveSnap || {}, o = Ne(n) || Y(n), e = { resistance: (p.throwResistance || p.resistance || 1e3) / (G ? 10 : 1) }, G ? e.rotation = Ta(j, o ? n : n.rotation, P, D, 1, t) : (J && (e[V] = Ta(j, o ? n : n.points || n.x || n.left, P, D, f ? -1 : 1, t || "x" === j.lockedAxis)), U && (e[K] = Ta(j, o ? n : n.points || n.y || n.top, S, X, f ? -1 : 1, t || "y" === j.lockedAxis)), (n.points || Ne(n) && Z(n[0])) && (e.linkedProps = V + "," + K, e.radius = n.radius))), j.isThrowing = !0, i = isNaN(p.overshootTolerance) ? 1 === p.edgeResistance ? 0 : 1 - j.edgeResistance + .2 : p.overshootTolerance, e.duration || (e.duration = { max: Math.max(p.minDuration || 0, "maxDuration" in p ? p.maxDuration : 2), min: isNaN(p.minDuration) ? 0 === i || Z(e) && 1e3 < e.resistance ? 0 : .5 : p.minDuration, overshoot: i }), j.tween = r = xe.to(f || h, { inertia: e, data: "_draggable", onComplete: Ch, onInterrupt: Dh, onUpdate: p.fastMode ? Pa : yh, onUpdateParams: p.fastMode ? [j, "onthrowupdate", "onThrowUpdate"] : n && n.radius ? [!1, !0] : [] }), p.fastMode || (f && (f._skip = !0), r.render(1e9, !0, !0), yh(!0, !0), j.endX = j.x, j.endY = j.y, G && (j.endRotation = j.x), r.play(0), yh(!0, !0), f && (f._skip = !1))) : M && j.applyBounds() } function Fh(e) { var t, n = O; O = getGlobalMatrix(h.parentNode, !0), e && j.isPressed && !O.equals(n || new ge) && (t = n.inverse().apply({ x: w, y: b }), O.apply(t, t), w = t.x, b = t.y), O.equals(a) && (O = null) } function Gh() { var e, t, n, o = 1 - j.edgeResistance, r = ce ? Fa(de) : 0, i = ce ? Ea(de) : 0; W && (se.x = Pg(V, "px") + "px", se.y = Pg(K, "px") + "px", se.renderTransform()), Fh(!1), Ge.x = j.pointerX - r, Ge.y = j.pointerY - i, O && O.apply(Ge, Ge), w = Ge.x, b = Ge.y, L && (he(j.pointerX, j.pointerY), xh(!0)), d = getGlobalMatrix(h), f ? (Bh(), E = f.top(), T = f.left()) : (pe() ? (yh(!0, !0), Bh()) : j.applyBounds(), G ? (e = h.ownerSVGElement ? [se.xOrigin - h.getBBox().x, se.yOrigin - h.getBBox().y] : (Ma(h)[_e] || "0 0").split(" "), C = j.rotationOrigin = getGlobalMatrix(h).apply({ x: parseFloat(e[0]) || 0, y: parseFloat(e[1]) || 0 }), yh(!0, !0), t = j.pointerX - C.x - r, n = C.y - j.pointerY + i, T = j.x, E = j.y = Math.atan2(n, t) * ke) : (E = Pg(K, "px"), T = Pg(V, "px"))), M && o && (P < T ? T = P + (T - P) / o : T < D && (T = D - (D - T) / o), G || (S < E ? E = S + (E - S) / o : E < X && (E = X - (X - E) / o))), j.startX = T = ca(T), j.startY = E = ca(E) } function Ih() { !we.parentNode || pe() || j.isDragging || we.parentNode.removeChild(we) } function Jh(e, t) { var n; if (!u || j.isPressed || !e || !("mousedown" !== e.type && "pointerdown" !== e.type || t) && Ae() - le < 30 && Me[j.pointerEvent.type]) I && e && u && Aa(e); else { if (A = pe(), H = !1, j.pointerEvent = e, Me[e.type] ? (v = ~e.type.indexOf("touch") ? e.currentTarget || e.target : de, ya(v, "touchend", fe), ya(v, "touchmove", ue), ya(v, "touchcancel", fe), ya(de, "touchstart", Da)) : (v = null, ya(de, "mousemove", ue)), B = null, Xe && v || (ya(de, "mouseup", fe), e && e.target && ya(e.target, "mouseup", fe)), m = ae.call(j, e.target) && !1 === p.dragClickables && !t) return ya(e.target, "change", fe), Pa(j, "pressInit", "onPressInit"), Pa(j, "press", "onPress"), Va(Q, !0), void(I = !1); if (R = !(!v || J == U || !1 === j.vars.allowNativeTouchScrolling || j.vars.allowContextMenu && e && (e.ctrlKey || 2 < e.which)) && (J ? "y" : "x"), (I = !R && !j.allowEventDefault) && (Aa(e), ya(ye, "touchforcechange", Aa)), e.changedTouches ? (e = x = e.changedTouches[0], y = e.identifier) : e.pointerId ? y = e.pointerId : x = y = null, Le++, function _addToRenderQueue(e) { Re.push(e), 1 === Re.length && xe.ticker.add(ta) }(xh), b = j.pointerY = e.pageY, w = j.pointerX = e.pageX, Pa(j, "pressInit", "onPressInit"), (R || j.autoScroll) && Ka(h.parentNode), !h.parentNode || !j.autoScroll || f || G || !h.parentNode._gsMaxScrollX || we.parentNode || h.getBBox || (we.style.width = h.parentNode.scrollWidth + "px", h.parentNode.appendChild(we)), Gh(), j.tween && j.tween.kill(), j.isThrowing = !1, xe.killTweensOf(f || h, o, !0), f && xe.killTweensOf(h, { scrollTo: 1 }, !0), j.tween = j.lockedAxis = null, !p.zIndexBoost && (G || f || !1 === p.zIndexBoost) || (h.style.zIndex = Draggable.zIndex++), j.isPressed = !0, g = !(!p.onDrag && !j._listeners.drag), s = !(!p.onMove && !j._listeners.move), !1 !== p.cursor || p.activeCursor) for (n = Q.length; - 1 < --n;) xe.set(Q[n], { cursor: p.activeCursor || p.cursor || ("grab" === Se ? "grabbing" : Se) }); Pa(j, "press", "onPress") } } function Nh(e) { if (e && j.isDragging && !f) { var t = e.target || h.parentNode, n = t.scrollLeft - t._gsScrollX, o = t.scrollTop - t._gsScrollY; (n || o) && (O ? (w -= n * O.a + o * O.c, b -= o * O.d + n * O.b) : (w -= n, b -= o), t._gsScrollX += n, t._gsScrollY += o, he(j.pointerX, j.pointerY)) } } function Oh(e) { var t = Ae(), n = t - le < 100, o = t - ee < 50, r = n && z === le, i = j.pointerEvent && j.pointerEvent.defaultPrevented, a = n && c === le, l = e.isTrusted || null == e.isTrusted && n && r; if ((r || o && !1 !== j.vars.suppressClickOnDrag) && e.stopImmediatePropagation && e.stopImmediatePropagation(), n && (!j.pointerEvent || !j.pointerEvent.defaultPrevented) && (!r || l && !a)) return l && r && (c = le), void(z = le); (j.isPressed || o || n) && (l && e.detail && n && !i || Aa(e)), n || o || H || (e && e.target && (j.pointerEvent = e), Pa(j, "click", "onClick")) } function Ph(e) { return O ? { x: e.x * O.a + e.y * O.c + O.e, y: e.x * O.b + e.y * O.d + O.f } : { x: e.x, y: e.y } } var u, f, w, b, T, E, M, g, s, P, D, S, X, x, y, C, L, t, _, N, k, m, v, O, A, R, B, F, z, c, I, d, H, n = (p.type || "x,y").toLowerCase(), W = ~n.indexOf("x") || ~n.indexOf("y"), G = -1 !== n.indexOf("rotation"), V = G ? "rotation" : W ? "x" : "left", K = W ? "y" : "top", J = !(!~n.indexOf("x") && !~n.indexOf("left") && "scroll" !== n), U = !(!~n.indexOf("y") && !~n.indexOf("top") && "scroll" !== n), q = p.minimumMovement || 2, j = _assertThisInitialized(e), Q = Te(p.trigger || p.handle || h), o = {}, ee = 0, te = !1, ne = p.autoScrollMarginTop || 40, oe = p.autoScrollMarginRight || 40, re = p.autoScrollMarginBottom || 40, ie = p.autoScrollMarginLeft || 40, ae = p.clickableTest || Ua, le = 0, se = h._gsap || xe.core.getCache(h), ce = function _isFixed(e) { return "fixed" === Ma(e).position || ((e = e.parentNode) && 1 === e.nodeType ? _isFixed(e) : void 0) }(h), de = h.ownerDocument || me, pe = function isTweening() { return j.tween && j.tween.isActive() }, ue = function onMove(e) { var t, n, o, r, i, a, l = e; if (u && !Pe && j.isPressed && e) { if (t = (j.pointerEvent = e).changedTouches) { if ((e = t[0]) !== x && e.identifier !== y) { for (r = t.length; - 1 < --r && (e = t[r]).identifier !== y && e.target !== h;); if (r < 0) return } } else if (e.pointerId && y && e.pointerId !== y) return; v && R && !B && (Ge.x = e.pageX - (ce ? Fa(de) : 0), Ge.y = e.pageY - (ce ? Ea(de) : 0), O && O.apply(Ge, Ge), n = Ge.x, o = Ge.y, ((i = Math.abs(n - w)) !== (a = Math.abs(o - b)) && (q < i || q < a) || De && R === B) && (B = a < i && J ? "x" : "y", R && B !== R && ya(ye, "touchforcechange", Aa), !1 !== j.vars.lockAxisOnTouchScroll && J && U && (j.lockedAxis = "x" === B ? "y" : "x", Y(j.vars.onLockAxis) && j.vars.onLockAxis.call(j, l)), De && R === B)) ? fe(l) : (I = j.allowEventDefault || R && (!B || R === B) || !1 === l.cancelable ? I && !1 : (Aa(l), !0), j.autoScroll && (te = !0), he(e.pageX, e.pageY, s)) } else I && e && u && Aa(e) }, he = function setPointerPosition(e, t, n) { var o, r, i, a, l, s, c = 1 - j.dragResistance, d = 1 - j.edgeResistance, p = j.pointerX, u = j.pointerY, h = E, f = j.x, g = j.y, x = j.endX, y = j.endY, m = j.endRotation, v = L; j.pointerX = e, j.pointerY = t, ce && (e -= Fa(de), t -= Ea(de)), G ? (a = Math.atan2(C.y - t, e - C.x) * ke, 180 < (l = j.y - a) ? (E -= 360, j.y = a) : l < -180 && (E += 360, j.y = a), i = j.x !== T || Math.abs(E - a) > q ? (j.y = a, T + (E - a) * c) : T) : (O && (s = e * O.a + t * O.c + O.e, t = e * O.b + t * O.d + O.f, e = s), (r = t - b) < q && -q < r && (r = 0), (o = e - w) < q && -q < o && (o = 0), (j.lockAxis || j.lockedAxis) && (o || r) && ((s = j.lockedAxis) || (j.lockedAxis = s = J && Math.abs(o) > Math.abs(r) ? "y" : U ? "x" : null, s && Y(j.vars.onLockAxis) && j.vars.onLockAxis.call(j, j.pointerEvent)), "y" === s ? r = 0 : "x" === s && (o = 0)), i = ca(T + o * c), a = ca(E + r * c)), (_ || N || k) && (j.x !== i || j.y !== a && !G) && (k && (Ie.x = i, Ie.y = a, s = k(Ie), i = ca(s.x), a = ca(s.y)), _ && (i = ca(_(i))), N && (a = ca(N(a)))), M && (P < i ? i = P + Math.round((i - P) * d) : i < D && (i = D + Math.round((i - D) * d)), G || (S < a ? a = Math.round(S + (a - S) * d) : a < X && (a = Math.round(X + (a - X) * d)))), j.x === i && (j.y === a || G) || (G ? (j.endRotation = j.x = j.endX = i, L = !0) : (U && (j.y = j.endY = a, L = !0), J && (j.x = j.endX = i, L = !0)), n && !1 === Pa(j, "move", "onMove") ? (j.pointerX = p, j.pointerY = u, E = h, j.x = f, j.y = g, j.endX = x, j.endY = y, j.endRotation = m, L = v) : !j.isDragging && j.isPressed && (j.isDragging = H = !0, Pa(j, "dragstart", "onDragStart"))) }, fe = function onRelease(e, t) { if (u && j.isPressed && (!e || null == y || t || !(e.pointerId && e.pointerId !== y && e.target !== h || e.changedTouches && ! function _hasTouchID(e, t) { for (var n = e.length; n--;) if (e[n].identifier === t) return !0 }(e.changedTouches, y)))) { j.isPressed = !1; var n, o, r, i, a, l = e, s = j.isDragging, c = j.vars.allowContextMenu && e && (e.ctrlKey || 2 < e.which), d = xe.delayedCall(.001, Ih); if (v ? (za(v, "touchend", onRelease), za(v, "touchmove", ue), za(v, "touchcancel", onRelease), za(de, "touchstart", Da)) : za(de, "mousemove", ue), za(ye, "touchforcechange", Aa), Xe && v || (za(de, "mouseup", onRelease), e && e.target && za(e.target, "mouseup", onRelease)), L = !1, s && (ee = ze = Ae(), j.isDragging = !1), wa(xh), m && !c) return e && (za(e.target, "change", onRelease), j.pointerEvent = l), Va(Q, !1), Pa(j, "release", "onRelease"), Pa(j, "click", "onClick"), void(m = !1); for (o = Q.length; - 1 < --o;) La(Q[o], "cursor", p.cursor || (!1 !== p.cursor ? Se : null)); if (Le--, e) { if ((n = e.changedTouches) && (e = n[0]) !== x && e.identifier !== y) { for (o = n.length; - 1 < --o && (e = n[o]).identifier !== y && e.target !== h;); if (o < 0 && !t) return } j.pointerEvent = l, j.pointerX = e.pageX, j.pointerY = e.pageY } return c && l ? (Aa(l), I = !0, Pa(j, "release", "onRelease")) : l && !s ? (I = !1, A && (p.snap || p.bounds) && Eh(p.inertia || p.throwProps), Pa(j, "release", "onRelease"), De && "touchmove" === l.type || -1 !== l.type.indexOf("cancel") || (Pa(j, "click", "onClick"), Ae() - le < 300 && Pa(j, "doubleclick", "onDoubleClick"), i = l.target || h, le = Ae(), a = function syntheticClick() { le === z || !j.enabled() || j.isPressed || l.defaultPrevented || (i.click ? i.click() : de.createEvent && ((r = de.createEvent("MouseEvents")).initMouseEvent("click", !0, !0, ye, 1, j.pointerEvent.screenX, j.pointerEvent.screenY, j.pointerX, j.pointerY, !1, !1, !1, !1, 0, null), i.dispatchEvent(r))) }, De || l.defaultPrevented || xe.delayedCall(.05, a))) : (Eh(p.inertia || p.throwProps), j.allowEventDefault || !l || !1 === p.dragClickables && ae.call(j, l.target) || !s || R && (!B || R !== B) || !1 === l.cancelable ? I = !1 : (I = !0, Aa(l)), Pa(j, "release", "onRelease")), pe() && d.duration(j.tween.duration()), s && Pa(j, "dragend", "onDragEnd"), !0 } I && e && u && Aa(e) }; return (t = Draggable.get(h)) && t.kill(), e.startDrag = function(e, t) { var n, o, r, i; Jh(e || j.pointerEvent, !0), t && !j.hitTest(e || j.pointerEvent) && (n = Oa(e || j.pointerEvent), o = Oa(h), r = Ph({ x: n.left + n.width / 2, y: n.top + n.height / 2 }), i = Ph({ x: o.left + o.width / 2, y: o.top + o.height / 2 }), w -= r.x - i.x, b -= r.y - i.y), j.isDragging || (j.isDragging = H = !0, Pa(j, "dragstart", "onDragStart")) }, e.drag = ue, e.endDrag = function(e) { return fe(e || j.pointerEvent, !0) }, e.timeSinceDrag = function() { return j.isDragging ? 0 : (Ae() - ee) / 1e3 }, e.timeSinceClick = function() { return (Ae() - le) / 1e3 }, e.hitTest = function(e, t) { return Draggable.hitTest(j.target, e, t) }, e.getDirection = function(e, t) { var n, o, r, i, a, l, s = "velocity" === e && Ye ? e : Z(e) && !G ? "element" : "start"; return "element" === s && (a = Oa(j.target), l = Oa(e)), n = "start" === s ? j.x - T : "velocity" === s ? Ye.getVelocity(h, V) : a.left + a.width / 2 - (l.left + l.width / 2), G ? n < 0 ? "counter-clockwise" : "clockwise" : (t = t || 2, o = "start" === s ? j.y - E : "velocity" === s ? Ye.getVelocity(h, K) : a.top + a.height / 2 - (l.top + l.height / 2), i = (r = Math.abs(n / o)) < 1 / t ? "" : n < 0 ? "left" : "right", r < t && ("" !== i && (i += "-"), i += o < 0 ? "up" : "down"), i) }, e.applyBounds = function(e, t) { var n, o, r, i, a, l; if (e && p.bounds !== e) return p.bounds = e, j.update(!0, t); if (yh(!0), Bh(), M && !pe()) { if (n = j.x, o = j.y, P < n ? n = P : n < D && (n = D), S < o ? o = S : o < X && (o = X), (j.x !== n || j.y !== o) && (r = !0, j.x = j.endX = n, G ? j.endRotation = n : j.y = j.endY = o, xh(L = !0), j.autoScroll && !j.isDragging)) for (Ka(h.parentNode), i = h, He.scrollTop = null != ye.pageYOffset ? ye.pageYOffset : null != de.documentElement.scrollTop ? de.documentElement.scrollTop : de.body.scrollTop, He.scrollLeft = null != ye.pageXOffset ? ye.pageXOffset : null != de.documentElement.scrollLeft ? de.documentElement.scrollLeft : de.body.scrollLeft; i && !l;) a = (l = We(i.parentNode)) ? He : i.parentNode, U && a.scrollTop > a._gsMaxScrollY && (a.scrollTop = a._gsMaxScrollY), J && a.scrollLeft > a._gsMaxScrollX && (a.scrollLeft = a._gsMaxScrollX), i = a; j.isThrowing && (r || j.endX > P || j.endX < D || j.endY > S || j.endY < X) && Eh(p.inertia || p.throwProps, r) } return j }, e.update = function(e, t, n) { if (t && j.isPressed) { var o = getGlobalMatrix(h), r = d.apply({ x: j.x - T, y: j.y - E }), i = getGlobalMatrix(h.parentNode, !0); i.apply({ x: o.e - r.x, y: o.f - r.y }, r), j.x -= r.x - i.e, j.y -= r.y - i.f, xh(!0), Gh() } var a = j.x, l = j.y; return Fh(!t), e ? j.applyBounds() : (L && n && xh(!0), yh(!0)), t && (he(j.pointerX, j.pointerY), L && xh(!0)), j.isPressed && !t && (J && .01 < Math.abs(a - j.x) || U && .01 < Math.abs(l - j.y) && !G) && Gh(), j.autoScroll && (Ka(h.parentNode, j.isDragging), te = j.isDragging, xh(!0), Ha(h, Nh), Ga(h, Nh)), j }, e.enable = function(e) { var t, n, o, r = { lazy: !0 }; if (!1 !== p.cursor && (r.cursor = p.cursor || Se), xe.utils.checkPrefix("touchCallout") && (r.touchCallout = "none"), "soft" !== e) { for (sa(Q, J == U ? "none" : p.allowNativeTouchScrolling && h.scrollHeight === h.clientHeight == (h.scrollWidth === h.clientHeight) || p.allowEventDefault ? "manipulation" : J ? "pan-y" : "pan-x"), n = Q.length; - 1 < --n;) o = Q[n], Xe || ya(o, "mousedown", Jh), ya(o, "touchstart", Jh), ya(o, "click", Oh, !0), xe.set(o, r), o.getBBox && o.ownerSVGElement && J != U && xe.set(o.ownerSVGElement, { touchAction: p.allowNativeTouchScrolling || p.allowEventDefault ? "manipulation" : J ? "pan-y" : "pan-x" }), p.allowContextMenu || ya(o, "contextmenu", wh); Va(Q, !1) } return Ga(h, Nh), u = !0, Ye && "soft" !== e && Ye.track(f || h, W ? "x,y" : G ? "rotation" : "top,left"), h._gsDragID = t = "d" + Fe++, Be[t] = j, f && (f.enable(), f.element._gsDragID = t), (p.bounds || G) && Gh(), p.bounds && j.applyBounds(), j }, e.disable = function(e) { for (var t, n = j.isDragging, o = Q.length; - 1 < --o;) La(Q[o], "cursor", null); if ("soft" !== e) { for (sa(Q, null), o = Q.length; - 1 < --o;) t = Q[o], La(t, "touchCallout", null), za(t, "mousedown", Jh), za(t, "touchstart", Jh), za(t, "click", Oh, !0), za(t, "contextmenu", wh); Va(Q, !0), v && (za(v, "touchcancel", fe), za(v, "touchend", fe), za(v, "touchmove", ue)), za(de, "mouseup", fe), za(de, "mousemove", ue) } return Ha(h, Nh), u = !1, Ye && "soft" !== e && Ye.untrack(f || h, W ? "x,y" : G ? "rotation" : "top,left"), f && f.disable(), wa(xh), j.isDragging = j.isPressed = m = !1, n && Pa(j, "dragend", "onDragEnd"), j }, e.enabled = function(e, t) { return arguments.length ? e ? j.enable(t) : j.disable(t) : u }, e.kill = e.revert = function() { return j.isThrowing = !1, j.tween && j.tween.kill(), j.disable(), xe.set(Q, { clearProps: "userSelect" }), delete Be[h._gsDragID], j }, ~n.indexOf("scroll") && (f = e.scrollProxy = new Za(h, function _extend(e, t) { for (var n in t) n in e || (e[n] = t[n]); return e }({ onKill: function onKill() { j.isPressed && fe(null) } }, p)), h.style.overflowY = U && !Ee ? "auto" : "hidden", h.style.overflowX = J && !Ee ? "auto" : "hidden", h = f.content), G ? o.rotation = 1 : (J && (o[V] = 1), U && (o[K] = 1)), se.force3D = !("force3D" in p) || p.force3D, Ce(_assertThisInitialized(e)), e.enable(), e }! function _setDefaults(e, t) { for (var n in t) n in e || (e[n] = t[n]) }(z.prototype, { pointerX: 0, pointerY: 0, startX: 0, startY: 0, deltaX: 0, deltaY: 0, isDragging: !1, isPressed: !1 }), z.zIndex = 1e3, z.version = "3.11.4", X() && xe.registerPlugin(z), e.Draggable = z, e.default = z; if (typeof(window) === "undefined" || window !== e) { Object.defineProperty(e, "__esModule", { value: !0 }) } else { delete e.default } });