!function(e){"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],e):"undefined"!=typeof module&&module.exports?e(require("jquery")):e(jQuery)}(function(ae){"use strict";var ue="left",se="right",ce="up",pe="down",fe="in",he="out",ge="none",de="auto",we="swipe",ve="pinch",Te="tap",ye="doubletap",Ee="longtap",me="horizontal",xe="vertical",be="all",Se=10,Oe="start",Me="move",Pe="end",De="cancel",Le="ontouchstart"in window,Re=window.navigator.msPointerEnabled&&!window.PointerEvent&&!Le,ke=(window.PointerEvent||window.navigator.msPointerEnabled)&&!Le,Ae="TouchSwipe";function r(e,a){a=ae.extend({},a);var t=Le||ke||!a.fallbackToMouseEvents,n=t?ke?Re?"MSPointerDown":"pointerdown":"touchstart":"mousedown",r=t?ke?Re?"MSPointerMove":"pointermove":"touchmove":"mousemove",i=t?ke?Re?"MSPointerUp":"pointerup":"touchend":"mouseup",l=t?ke?"mouseleave":null:"mouseleave",o=ke?Re?"MSPointerCancel":"pointercancel":"touchcancel",u=0,s=null,c=null,p=0,f=0,h=0,g=1,d=0,w=0,v=null,T=ae(e),y="start",E=0,m={},x=0,b=0,S=0,O=0,M=0,P=null,D=null;try{T.on(n,L),T.on(o,A)}catch(e){ae.error("events not supported "+n+","+o+" on jQuery.swipe")}function L(e){if(!0!==T.data(Ae+"_intouch")&&!(0<ae(e.target).closest(a.excludedElements,T).length)){var t=e.originalEvent?e.originalEvent:e;if(!t.pointerType||"mouse"!=t.pointerType||0!=a.fallbackToMouseEvents){var n,r=t.touches,i=r?r[0]:t;return y=Oe,r?E=r.length:!1!==a.preventDefaultEvents&&e.preventDefault(),w=c=s=null,g=1,d=h=f=p=u=0,v=function(){var e={};return e[ue]=ne(ue),e[se]=ne(se),e[ce]=ne(ce),e[pe]=ne(pe),e}(),B(),$(0,i),!r||E===a.fingers||a.fingers===be||F()?(x=oe(),2==E&&($(1,r[1]),f=h=ie(m[0].start,m[1].start)),(a.swipeStatus||a.pinchStatus)&&(n=N(t,y))):n=!1,!1===n?(N(t,y=De),n):(a.hold&&(D=setTimeout(ae.proxy(function(){T.trigger("hold",[t.target]),a.hold&&(n=a.hold.call(T,t,t.target))},this),a.longTapThreshold)),K(!0),null)}}}function R(e){var t=e.originalEvent?e.originalEvent:e;if(y!==Pe&&y!==De&&!J()){var n,r=t.touches,i=ee(r?r[0]:t);if(b=oe(),r&&(E=r.length),a.hold&&clearTimeout(D),y=Me,2==E&&(0==f?($(1,r[1]),f=h=ie(m[0].start,m[1].start)):(ee(r[1]),h=ie(m[0].end,m[1].end),m[0].end,m[1].end,w=g<1?he:fe),g=function(e,t){return(t/e*1).toFixed(2)}(f,h),d=Math.abs(f-h)),E===a.fingers||a.fingers===be||!r||F()){if(s=le(i.start,i.end),function(e,t){if(!1===a.preventDefaultEvents)return;if(a.allowPageScroll===ge)e.preventDefault();else{var n=a.allowPageScroll===de;switch(t){case ue:(a.swipeLeft&&n||!n&&a.allowPageScroll!=me)&&e.preventDefault();break;case se:(a.swipeRight&&n||!n&&a.allowPageScroll!=me)&&e.preventDefault();break;case ce:(a.swipeUp&&n||!n&&a.allowPageScroll!=xe)&&e.preventDefault();break;case pe:(a.swipeDown&&n||!n&&a.allowPageScroll!=xe)&&e.preventDefault()}}}(e,c=le(i.last,i.end)),u=function(e,t){return Math.round(Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)))}(i.start,i.end),p=re(),function(e,t){if(e==ge)return;t=Math.max(t,te(e)),v[e].distance=t}(s,u),n=N(t,y),!a.triggerOnTouchEnd||a.triggerOnTouchLeave){var l=!0;if(a.triggerOnTouchLeave){var o=function(e){var t=(e=ae(e)).offset();return{left:t.left,right:t.left+e.outerWidth(),top:t.top,bottom:t.top+e.outerHeight()}}(this);l=function(e,t){return e.x>t.left&&e.x<t.right&&e.y>t.top&&e.y<t.bottom}(i.end,o)}!a.triggerOnTouchEnd&&l?y=j(Me):a.triggerOnTouchLeave&&!l&&(y=j(Pe)),y!=De&&y!=Pe||N(t,y)}}else N(t,y=De);!1===n&&N(t,y=De)}}function k(e){var t=e.originalEvent?e.originalEvent:e,n=t.touches;if(n){if(n.length&&!J())return function(e){S=oe(),O=e.touches.length+1}(t),!0;if(n.length&&J())return!0}return J()&&(E=O),b=oe(),p=re(),q()||!_()?N(t,y=De):a.triggerOnTouchEnd||!1===a.triggerOnTouchEnd&&y===Me?(!1!==a.preventDefaultEvents&&!1!==e.cancelable&&e.preventDefault(),N(t,y=Pe)):!a.triggerOnTouchEnd&&z()?H(t,y=Pe,Te):y===Me&&N(t,y=De),K(!1),null}function A(){h=f=x=b=E=0,g=1,B(),K(!1)}function I(e){var t=e.originalEvent?e.originalEvent:e;a.triggerOnTouchLeave&&N(t,y=j(Pe))}function U(){T.off(n,L),T.off(o,A),T.off(r,R),T.off(i,k),l&&T.off(l,I),K(!1)}function j(e){var t=e,n=Q(),r=_(),i=q();return!n||i?t=De:!r||e!=Me||a.triggerOnTouchEnd&&!a.triggerOnTouchLeave?!r&&e==Pe&&a.triggerOnTouchLeave&&(t=De):t=Pe,t}function N(e,t){var n,r=e.touches;return(X()&&Y()||Y())&&(n=H(e,t,we)),(C()&&F()||F())&&!1!==n&&(n=H(e,t,ve)),Z()&&G()&&!1!==n?n=H(e,t,ye):p>a.longTapThreshold&&u<Se&&a.longTap&&!1!==n?n=H(e,t,Ee):1!==E&&Le||!(isNaN(u)||u<a.threshold)||!z()||!1===n||(n=H(e,t,Te)),t===De&&A(),t===Pe&&(r&&r.length||A()),n}function H(e,t,n){var r;if(n==we){if(T.trigger("swipeStatus",[t,s||null,u||0,p||0,E,m,c]),a.swipeStatus&&!1===(r=a.swipeStatus.call(T,e,t,s||null,u||0,p||0,E,m,c)))return!1;if(t==Pe&&X()){if(clearTimeout(P),clearTimeout(D),T.trigger("swipe",[s,u,p,E,m,c]),a.swipe&&!1===(r=a.swipe.call(T,e,s,u,p,E,m,c)))return!1;switch(s){case ue:T.trigger("swipeLeft",[s,u,p,E,m,c]),a.swipeLeft&&(r=a.swipeLeft.call(T,e,s,u,p,E,m,c));break;case se:T.trigger("swipeRight",[s,u,p,E,m,c]),a.swipeRight&&(r=a.swipeRight.call(T,e,s,u,p,E,m,c));break;case ce:T.trigger("swipeUp",[s,u,p,E,m,c]),a.swipeUp&&(r=a.swipeUp.call(T,e,s,u,p,E,m,c));break;case pe:T.trigger("swipeDown",[s,u,p,E,m,c]),a.swipeDown&&(r=a.swipeDown.call(T,e,s,u,p,E,m,c))}}}if(n==ve){if(T.trigger("pinchStatus",[t,w||null,d||0,p||0,E,g,m]),a.pinchStatus&&!1===(r=a.pinchStatus.call(T,e,t,w||null,d||0,p||0,E,g,m)))return!1;if(t==Pe&&C())switch(w){case fe:T.trigger("pinchIn",[w||null,d||0,p||0,E,g,m]),a.pinchIn&&(r=a.pinchIn.call(T,e,w||null,d||0,p||0,E,g,m));break;case he:T.trigger("pinchOut",[w||null,d||0,p||0,E,g,m]),a.pinchOut&&(r=a.pinchOut.call(T,e,w||null,d||0,p||0,E,g,m))}}return n==Te?t!==De&&t!==Pe||(clearTimeout(P),clearTimeout(D),G()&&!Z()?(M=oe(),P=setTimeout(ae.proxy(function(){M=null,T.trigger("tap",[e.target]),a.tap&&(r=a.tap.call(T,e,e.target))},this),a.doubleTapThreshold)):(M=null,T.trigger("tap",[e.target]),a.tap&&(r=a.tap.call(T,e,e.target)))):n==ye?t!==De&&t!==Pe||(clearTimeout(P),clearTimeout(D),M=null,T.trigger("doubletap",[e.target]),a.doubleTap&&(r=a.doubleTap.call(T,e,e.target))):n==Ee&&(t!==De&&t!==Pe||(clearTimeout(P),M=null,T.trigger("longtap",[e.target]),a.longTap&&(r=a.longTap.call(T,e,e.target)))),r}function _(){var e=!0;return null!==a.threshold&&(e=u>=a.threshold),e}function q(){var e=!1;return null!==a.cancelThreshold&&null!==s&&(e=te(s)-u>=a.cancelThreshold),e}function Q(){return!a.maxTimeThreshold||!(p>=a.maxTimeThreshold)}function C(){var e=V(),t=W(),n=null===a.pinchThreshold||d>=a.pinchThreshold;return e&&t&&n}function F(){return!!(a.pinchStatus||a.pinchIn||a.pinchOut)}function X(){var e=Q(),t=_(),n=V(),r=W();return!q()&&r&&n&&t&&e}function Y(){return!!(a.swipe||a.swipeStatus||a.swipeLeft||a.swipeRight||a.swipeUp||a.swipeDown)}function V(){return E===a.fingers||a.fingers===be||!Le}function W(){return 0!==m[0].end.x}function z(){return!!a.tap}function G(){return!!a.doubleTap}function Z(){if(null==M)return!1;var e=oe();return G()&&e-M<=a.doubleTapThreshold}function B(){O=S=0}function J(){var e=!1;S&&oe()-S<=a.fingerReleaseThreshold&&(e=!0);return e}function K(e){T&&(!0===e?(T.on(r,R),T.on(i,k),l&&T.on(l,I)):(T.off(r,R,!1),T.off(i,k,!1),l&&T.off(l,I,!1)),T.data(Ae+"_intouch",!0===e))}function $(e,t){var n={start:{x:0,y:0},last:{x:0,y:0},end:{x:0,y:0}};return n.start.x=n.last.x=n.end.x=t.pageX||t.clientX,n.start.y=n.last.y=n.end.y=t.pageY||t.clientY,m[e]=n}function ee(e){var t=void 0!==e.identifier?e.identifier:0,n=function(e){return m[e]||null}(t);return null===n&&(n=$(t,e)),n.last.x=n.end.x,n.last.y=n.end.y,n.end.x=e.pageX||e.clientX,n.end.y=e.pageY||e.clientY,n}function te(e){if(v[e])return v[e].distance}function ne(e){return{direction:e,distance:0}}function re(){return b-x}function ie(e,t){var n=Math.abs(e.x-t.x),r=Math.abs(e.y-t.y);return Math.round(Math.sqrt(n*n+r*r))}function le(e,t){if(function(e,t){return e.x==t.x&&e.y==t.y}(e,t))return ge;var n=function(e,t){var n=e.x-t.x,r=t.y-e.y,i=Math.atan2(r,n),l=Math.round(180*i/Math.PI);return l<0&&(l=360-Math.abs(l)),l}(e,t);return n<=45&&0<=n?ue:n<=360&&315<=n?ue:135<=n&&n<=225?se:45<n&&n<135?pe:ce}function oe(){return(new Date).getTime()}this.enable=function(){return this.disable(),T.on(n,L),T.on(o,A),T},this.disable=function(){return U(),T},this.destroy=function(){U(),T.data(Ae,null),T=null},this.option=function(e,t){if("object"==typeof e)a=ae.extend(a,e);else if(void 0!==a[e]){if(void 0===t)return a[e];a[e]=t}else{if(!e)return a;ae.error("Option "+e+" does not exist on jQuery.swipe.options")}return null}}ae.fn.swipe=function(e){var t=ae(this),n=t.data(Ae);if(n&&"string"==typeof e){if(n[e])return n[e].apply(n,Array.prototype.slice.call(arguments,1));ae.error("Method "+e+" does not exist on jQuery.swipe")}else if(n&&"object"==typeof e)n.option.apply(n,arguments);else if(!(n||"object"!=typeof e&&e))return function(n){!n||void 0!==n.allowPageScroll||void 0===n.swipe&&void 0===n.swipeStatus||(n.allowPageScroll=ge);void 0!==n.click&&void 0===n.tap&&(n.tap=n.click);n=n||{};return n=ae.extend({},ae.fn.swipe.defaults,n),this.each(function(){var e=ae(this),t=e.data(Ae);t||(t=new r(this,n),e.data(Ae,t))})}.apply(this,arguments);return t},ae.fn.swipe.version="1.6.18",ae.fn.swipe.defaults={fingers:1,threshold:75,cancelThreshold:null,pinchThreshold:20,maxTimeThreshold:null,fingerReleaseThreshold:250,longTapThreshold:500,doubleTapThreshold:200,swipe:null,swipeLeft:null,swipeRight:null,swipeUp:null,swipeDown:null,swipeStatus:null,pinchIn:null,pinchOut:null,pinchStatus:null,click:null,tap:null,doubleTap:null,longTap:null,hold:null,triggerOnTouchEnd:!0,triggerOnTouchLeave:!1,allowPageScroll:"auto",fallbackToMouseEvents:!0,excludedElements:".noSwipe",preventDefaultEvents:!0},ae.fn.swipe.phases={PHASE_START:Oe,PHASE_MOVE:Me,PHASE_END:Pe,PHASE_CANCEL:De},ae.fn.swipe.directions={LEFT:ue,RIGHT:se,UP:ce,DOWN:pe,IN:fe,OUT:he},ae.fn.swipe.pageScroll={NONE:ge,HORIZONTAL:me,VERTICAL:xe,AUTO:de},ae.fn.swipe.fingers={ONE:1,TWO:2,THREE:3,FOUR:4,FIVE:5,ALL:be}});