!function(a){"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],a):a(jQuery)}(function(a){"use strict";function b(b){return!b||void 0!==b.allowPageScroll||void 0===b.swipe&&void 0===b.swipeStatus||(b.allowPageScroll=j),void 0!==b.click&&void 0===b.tap&&(b.tap=b.click),b||(b={}),b=a.extend({},a.fn.swipe.defaults,b),this.each(function(){var d=a(this),e=d.data(B);e||(e=new c(this,b),d.data(B,e))})}function c(b,c){function C(b){if(!(ja()||a(b.target).closest(c.excludedElements,Sa).length>0)){var d,e=b.originalEvent?b.originalEvent:b,f=y?e.touches[0]:e;return Ta=u,(y?Ua=e.touches.length:b.preventDefault(),Ja=0,Ka=null,Qa=null,La=0,Ma=0,Na=0,Oa=1,Pa=0,Va=oa(),Ra=ra(),ha(),!y||Ua===c.fingers||c.fingers===s||R()?(la(0,f),Wa=Aa(),2==Ua&&(la(1,e.touches[1]),Ma=Na=ua(Va[0].start,Va[1].start)),(c.swipeStatus||c.pinchStatus)&&(d=J(e,Ta))):d=!1,!1===d)?(Ta=x,J(e,Ta),d):(c.hold&&(ab=setTimeout(a.proxy(function(){Sa.trigger("hold",[e.target]),c.hold&&(d=c.hold.call(Sa,e,e.target))},this),c.longTapThreshold)),ka(!0),null)}}function D(a){var b=a.originalEvent?a.originalEvent:a;if(Ta!==w&&Ta!==x&&!ia()){var d,e=y?b.touches[0]:b,f=ma(e);if(Xa=Aa(),y&&(Ua=b.touches.length),c.hold&&clearTimeout(ab),Ta=v,2==Ua&&(0==Ma?(la(1,b.touches[1]),Ma=Na=ua(Va[0].start,Va[1].start)):(ma(b.touches[1]),Na=ua(Va[0].end,Va[1].end),Qa=wa(Va[0].end,Va[1].end)),Oa=va(Ma,Na),Pa=Math.abs(Ma-Na)),Ua===c.fingers||c.fingers===s||!y||R()){if(Ka=za(f.start,f.end),P(a,Ka),Ja=xa(f.start,f.end),La=ta(),pa(Ka,Ja),(c.swipeStatus||c.pinchStatus)&&(d=J(b,Ta)),!c.triggerOnTouchEnd||c.triggerOnTouchLeave){var g=!0;if(c.triggerOnTouchLeave){var h=Ba(this);g=Ca(f.end,h)}!c.triggerOnTouchEnd&&g?Ta=I(v):c.triggerOnTouchLeave&&!g&&(Ta=I(w)),Ta!=x&&Ta!=w||J(b,Ta)}}else Ta=x,J(b,Ta);!1===d&&(Ta=x,J(b,Ta))}}function E(a){var b=a.originalEvent;return y&&b.touches.length>0?(ga(),!0):(ia()&&(Ua=Za),Xa=Aa(),La=ta(),M()||!L()?(Ta=x,J(b,Ta)):c.triggerOnTouchEnd||0==c.triggerOnTouchEnd&&Ta===v?(a.preventDefault(),Ta=w,J(b,Ta)):!c.triggerOnTouchEnd&&Y()?(Ta=w,K(b,Ta,n)):Ta===v&&(Ta=x,J(b,Ta)),ka(!1),null)}function F(){Ua=0,Xa=0,Wa=0,Ma=0,Na=0,Oa=1,ha(),ka(!1)}function G(a){var b=a.originalEvent;c.triggerOnTouchLeave&&(Ta=I(w),J(b,Ta))}function H(){Sa.unbind(Ea,C),Sa.unbind(Ia,F),Sa.unbind(Fa,D),Sa.unbind(Ga,E),Ha&&Sa.unbind(Ha,G),ka(!1)}function I(a){var b=a,d=O(),e=L(),f=M();return!d||f?b=x:!e||a!=v||c.triggerOnTouchEnd&&!c.triggerOnTouchLeave?!e&&a==w&&c.triggerOnTouchLeave&&(b=x):b=w,b}function J(a,b){var c=void 0;return V()||U()?c=K(a,b,l):(S()||R())&&!1!==c&&(c=K(a,b,m)),ea()&&!1!==c?c=K(a,b,o):fa()&&!1!==c?c=K(a,b,p):da()&&!1!==c&&(c=K(a,b,n)),b===x&&F(a),b===w&&(y?0==a.touches.length&&F(a):F(a)),c}function K(b,j,k){var q=void 0;if(k==l){if(Sa.trigger("swipeStatus",[j,Ka||null,Ja||0,La||0,Ua,Va]),c.swipeStatus&&!1===(q=c.swipeStatus.call(Sa,b,j,Ka||null,Ja||0,La||0,Ua,Va)))return!1;if(j==w&&T()){if(Sa.trigger("swipe",[Ka,Ja,La,Ua,Va]),c.swipe&&!1===(q=c.swipe.call(Sa,b,Ka,Ja,La,Ua,Va)))return!1;switch(Ka){case d:Sa.trigger("swipeLeft",[Ka,Ja,La,Ua,Va]),c.swipeLeft&&(q=c.swipeLeft.call(Sa,b,Ka,Ja,La,Ua,Va));break;case e:Sa.trigger("swipeRight",[Ka,Ja,La,Ua,Va]),c.swipeRight&&(q=c.swipeRight.call(Sa,b,Ka,Ja,La,Ua,Va));break;case f:Sa.trigger("swipeUp",[Ka,Ja,La,Ua,Va]),c.swipeUp&&(q=c.swipeUp.call(Sa,b,Ka,Ja,La,Ua,Va));break;case g:Sa.trigger("swipeDown",[Ka,Ja,La,Ua,Va]),c.swipeDown&&(q=c.swipeDown.call(Sa,b,Ka,Ja,La,Ua,Va))}}}if(k==m){if(Sa.trigger("pinchStatus",[j,Qa||null,Pa||0,La||0,Ua,Oa,Va]),c.pinchStatus&&!1===(q=c.pinchStatus.call(Sa,b,j,Qa||null,Pa||0,La||0,Ua,Oa,Va)))return!1;if(j==w&&Q())switch(Qa){case h:Sa.trigger("pinchIn",[Qa||null,Pa||0,La||0,Ua,Oa,Va]),c.pinchIn&&(q=c.pinchIn.call(Sa,b,Qa||null,Pa||0,La||0,Ua,Oa,Va));break;case i:Sa.trigger("pinchOut",[Qa||null,Pa||0,La||0,Ua,Oa,Va]),c.pinchOut&&(q=c.pinchOut.call(Sa,b,Qa||null,Pa||0,La||0,Ua,Oa,Va))}}return k==n?j!==x&&j!==w||(clearTimeout(_a),clearTimeout(ab),Z()&&!aa()?($a=Aa(),_a=setTimeout(a.proxy(function(){$a=null,Sa.trigger("tap",[b.target]),c.tap&&(q=c.tap.call(Sa,b,b.target))},this),c.doubleTapThreshold)):($a=null,Sa.trigger("tap",[b.target]),c.tap&&(q=c.tap.call(Sa,b,b.target)))):k==o?j!==x&&j!==w||(clearTimeout(_a),$a=null,Sa.trigger("doubletap",[b.target]),c.doubleTap&&(q=c.doubleTap.call(Sa,b,b.target))):k==p&&(j!==x&&j!==w||(clearTimeout(_a),$a=null,Sa.trigger("longtap",[b.target]),c.longTap&&(q=c.longTap.call(Sa,b,b.target)))),q}function L(){var a=!0;return null!==c.threshold&&(a=Ja>=c.threshold),a}function M(){var a=!1;return null!==c.cancelThreshold&&null!==Ka&&(a=qa(Ka)-Ja>=c.cancelThreshold),a}function N(){return null===c.pinchThreshold||Pa>=c.pinchThreshold}function O(){return!c.maxTimeThreshold||!(La>=c.maxTimeThreshold)}function P(a,b){if(c.allowPageScroll===j||R())a.preventDefault();else{var h=c.allowPageScroll===k;switch(b){case d:(c.swipeLeft&&h||!h&&c.allowPageScroll!=q)&&a.preventDefault();break;case e:(c.swipeRight&&h||!h&&c.allowPageScroll!=q)&&a.preventDefault();break;case f:(c.swipeUp&&h||!h&&c.allowPageScroll!=r)&&a.preventDefault();break;case g:(c.swipeDown&&h||!h&&c.allowPageScroll!=r)&&a.preventDefault()}}}function Q(){var a=W(),b=X(),c=N();return a&&b&&c}function R(){return!!(c.pinchStatus||c.pinchIn||c.pinchOut)}function S(){return!(!Q()||!R())}function T(){var a=O(),b=L(),c=W(),d=X();return!M()&&d&&c&&b&&a}function U(){return!!(c.swipe||c.swipeStatus||c.swipeLeft||c.swipeRight||c.swipeUp||c.swipeDown)}function V(){return!(!T()||!U())}function W(){return Ua===c.fingers||c.fingers===s||!y}function X(){return 0!==Va[0].end.x}function Y(){return!!c.tap}function Z(){return!!c.doubleTap}function $(){return!!c.longTap}function _(){if(null==$a)return!1;var a=Aa();return Z()&&a-$a<=c.doubleTapThreshold}function aa(){return _()}function ba(){return(1===Ua||!y)&&(isNaN(Ja)||Jac.longTapThreshold&&Ja=0?d:c<=360&&c>=315?d:c>=135&&c<=225?e:c>45&&c<135?g:f}function Aa(){return(new Date).getTime()}function Ba(b){b=a(b);var c=b.offset();return{left:c.left,right:c.left+b.outerWidth(),top:c.top,bottom:c.top+b.outerHeight()}}function Ca(a,b){return a.x>b.left&&a.xb.top&&a.y