!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.PhotoSwipe=t()}(this,function(){"use strict";var e=function(e,t,n,o){var i={features:null,bind:function(e,t,n,o){var i=(o?"remove":"add")+"EventListener";t=t.split(" ");for(var a=0;a0&&(r=parseInt(r[1],10),r>=1&&8>r&&(o.isOldIOSPhone=!0))}var l=a.match(/Android\s([0-9\.]*)/),s=l?l[1]:0;s=parseFloat(s),s>=1&&(4.4>s&&(o.isOldAndroid=!0),o.androidVersion=s),o.isMobileOpera=/opera mini|opera mobi/i.test(a)}for(var u,c,d=["transform","perspective","animationName"],p=["","webkit","Moz","ms","O"],m=0;4>m;m++){n=p[m];for(var f=0;3>f;f++)u=d[f],c=n+(n?u.charAt(0).toUpperCase()+u.slice(1):u),!o[u]&&c in t&&(o[u]=c);n&&!o.raf&&(n=n.toLowerCase(),o.raf=window[n+"RequestAnimationFrame"],o.raf&&(o.caf=window[n+"CancelAnimationFrame"]||window[n+"CancelRequestAnimationFrame"]))}if(!o.raf){var h=0;o.raf=function(e){var t=(new Date).getTime(),n=Math.max(0,16-(t-h)),o=window.setTimeout(function(){e(t+n)},n);return h=t+n,o},o.caf=function(e){clearTimeout(e)}}return o.svg=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,i.features=o,o}};i.detectFeatures(),i.features.oldIE&&(i.bind=function(e,t,n,o){t=t.split(" ");for(var i,a=(o?"detach":"attach")+"Event",r=function(){n.handleEvent.call(n)},l=0;lt-1?e-t:0>e?t+e:e},De={},Se=function(e,t){return De[e]||(De[e]=[]),De[e].push(t)},_e=function(e){var t=De[e];if(t){var n=Array.prototype.slice.call(arguments);n.shift();for(var o=0;oa.currItem.fitRatio?Ie||(pn(a.currItem,!1,!0),Ie=!0):Ie&&(pn(a.currItem),Ie=!1)),Oe(oe,fe.x,fe.y,x))},Ae=function(e){e.container&&Oe(e.container.style,e.initialPosition.x,e.initialPosition.y,e.initialZoomLevel,e)},Re=function(e,t){t[F]=w+e+"px, 0px"+b},Le=function(e,t){if(!s.loop&&t){var n=p+(xe.x*ve-e)/xe.x,o=Math.round(e-xt.x);(0>n&&o>0||n>=Qt()-1&&0>o)&&(e=xt.x+o*s.mainScrollEndFriction)}xt.x=e,Re(e,m)},Ze=function(e,t){var n=yt[e]-ge[e];return me[e]+pe[e]+n-n*(t/y)},Pe=function(e,t){e.x=t.x,e.y=t.y,t.id&&(e.id=t.id)},ze=function(e){e.x=Math.round(e.x),e.y=Math.round(e.y)},Ne=null,Ue=function(){Ne&&(i.unbind(document,"mousemove",Ue),i.addClass(e,"pswp--has_mouse"),s.mouseUsed=!0,_e("mouseUsed")),Ne=setTimeout(function(){Ne=null},100)},Ke=function(){i.bind(document,"keydown",a),N.transform&&i.bind(a.scrollWrap,"click",a),s.mouseUsed||i.bind(document,"mousemove",Ue),i.bind(window,"resize scroll",a),_e("bindEvents")},He=function(){i.unbind(window,"resize",a),i.unbind(window,"scroll",g.scroll),i.unbind(document,"keydown",a),i.unbind(document,"mousemove",Ue),N.transform&&i.unbind(a.scrollWrap,"click",a),G&&i.unbind(window,h,a),_e("unbindEvents")},Be=function(e,t){var n=sn(a.currItem,he,e);return t&&(ne=n),n},We=function(e){return e||(e=a.currItem),e.initialZoomLevel},Ye=function(e){return e||(e=a.currItem),e.w>0?s.maxSpreadZoom:1},Ge=function(e,t,n,o){return o===a.currItem.initialZoomLevel?(n[e]=a.currItem.initialPosition[e],!0):(n[e]=Ze(e,o),n[e]>t.min[e]?(n[e]=t.min[e],!0):n[e]1?1:e.fitRatio,n=e.container.style,o=t*e.w,i=t*e.h;n.width=o+"px",n.height=i+"px",n.left=e.initialPosition.x+"px",n.top=e.initialPosition.y+"px"},ke=function(){if(oe){var e=oe,t=a.currItem,n=t.fitRatio>1?1:t.fitRatio,o=n*t.w,i=n*t.h;e.width=o+"px",e.height=i+"px",e.left=fe.x+"px",e.top=fe.y+"px"}}},Ve=function(e){var t="";s.escKey&&27===e.keyCode?t="close":s.arrowKeys&&(37===e.keyCode?t="prev":39===e.keyCode&&(t="next")),t&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey||(e.preventDefault?e.preventDefault():e.returnValue=!1,a[t]()))},Xe=function(e){e&&(X||V||ie||W)&&(e.preventDefault(),e.stopPropagation())},je=function(){a.setScrollOffset(0,i.getScrollY())},$e={},Je=0,Qe=function(e){$e[e]&&($e[e].raf&&R($e[e].raf),Je--,delete $e[e])},et=function(e){$e[e]&&Qe(e),$e[e]||(Je++,$e[e]={})},tt=function(){for(var e in $e)$e.hasOwnProperty(e)&&Qe(e)},nt=function(e,t,n,o,i,a,r){var l,s=Me();et(e);var u=function(){if($e[e]){if(l=Me()-s,l>=o)return Qe(e),a(n),void(r&&r());a((n-t)*i(l/o)+t),$e[e].raf=A(u)}};u()},ot={shout:_e,listen:Se,viewportSize:he,options:s,isMainScrollAnimating:function(){return ie},getZoomLevel:function(){return x},getCurrentIndex:function(){return p},isDragging:function(){return G},isZooming:function(){return Q},setScrollOffset:function(e,t){ge.x=e,z=ge.y=t,_e("updateScrollOffset",ge)},applyZoomPan:function(e,t,n,o){fe.x=t,fe.y=n,x=e,ke(o)},init:function(){if(!u&&!c){var n;a.framework=i,a.template=e,a.bg=i.getChildByClass(e,"pswp__bg"),L=e.className,u=!0,N=i.detectFeatures(),A=N.raf,R=N.caf,F=N.transform,P=N.oldIE,a.scrollWrap=i.getChildByClass(e,"pswp__scroll-wrap"),a.container=i.getChildByClass(a.scrollWrap,"pswp__container"),m=a.container.style,a.itemHolders=T=[{el:a.container.children[0],wrap:0,index:-1},{el:a.container.children[1],wrap:0,index:-1},{el:a.container.children[2],wrap:0,index:-1}],T[0].el.style.display=T[2].el.style.display="none",qe(),g={resize:a.updateSize,scroll:je,keydown:Ve,click:Xe};var o=N.isOldIOSPhone||N.isOldAndroid||N.isMobileOpera;for(N.animationName&&N.transform&&!o||(s.showAnimationDuration=s.hideAnimationDuration=0),n=0;np||p>=Qt())&&(p=0),a.currItem=Jt(p),(N.isOldIOSPhone||N.isOldAndroid)&&(we=!1),e.setAttribute("aria-hidden","false"),s.modal&&(we?e.style.position="fixed":(e.style.position="absolute",e.style.top=i.getScrollY()+"px")),void 0===z&&(_e("initialLayout"),z=Z=i.getScrollY());var d="pswp--open ";for(s.mainClass&&(d+=s.mainClass+" "),s.showHideOpacity&&(d+="pswp--animate_opacity "),d+=k?"pswp--touch":"pswp--notouch",d+=N.animationName?" pswp--css_animation":"",d+=N.svg?" pswp--svg":"",i.addClass(e,d),a.updateSize(),f=-1,ye=null,n=0;l>n;n++)Re((n+f)*xe.x,T[n].el.style);P||i.bind(a.scrollWrap,v,a),Se("initialZoomInEnd",function(){a.setContent(T[0],p-1),a.setContent(T[2],p+1),T[0].el.style.display=T[2].el.style.display="block",s.focus&&e.focus(),Ke()}),a.setContent(T[1],p),a.updateCurrItem(),_e("afterInit"),we||(C=setInterval(function(){Je||G||Q||x!==a.currItem.initialZoomLevel||a.updateSize()},1e3)),i.addClass(e,"pswp--visible")}},close:function(){u&&(u=!1,c=!0,_e("close"),He(),tn(a.currItem,null,!0,a.destroy))},destroy:function(){_e("destroy"),Vt&&clearTimeout(Vt),e.setAttribute("aria-hidden","true"),e.className=L,C&&clearInterval(C),i.unbind(a.scrollWrap,v,a),i.unbind(window,"scroll",a),Tt(),tt(),De=null},panTo:function(e,t,n){n||(e>ne.min.x?e=ne.min.x:ene.min.y?t=ne.min.y:te;e++)T[e].item&&(T[e].item.needsUpdate=!0)},updateCurrItem:function(e){if(0!==ye){var t,n=Math.abs(ye);if(!(e&&2>n)){a.currItem=Jt(p),Ie=!1,_e("beforeChange",ye),n>=l&&(f+=ye+(ye>0?-l:l),n=l);for(var o=0;n>o;o++)ye>0?(t=T.shift(),T[l-1]=t,f++,Re((f+2)*xe.x,t.el.style),a.setContent(t,p-n+o+1+1)):(t=T.pop(),T.unshift(t),f--,Re(f*xe.x,t.el.style),a.setContent(t,p+n-o-1-1));if(oe&&1===Math.abs(ye)){var i=Jt(E);i.initialZoomLevel!==x&&(sn(i,he),pn(i),Ae(i))}ye=0,a.updateCurrZoomItem(),E=p,_e("afterChange")}}},updateSize:function(t){if(!we&&s.modal){var n=i.getScrollY();if(z!==n&&(e.style.top=n+"px",z=n),!t&&Ce.x===window.innerWidth&&Ce.y===window.innerHeight)return;Ce.x=window.innerWidth,Ce.y=window.innerHeight,e.style.height=Ce.y+"px"}if(he.x=a.scrollWrap.clientWidth,he.y=a.scrollWrap.clientHeight,je(),xe.x=he.x+Math.round(he.x*s.spacing),xe.y=he.y,Le(xe.x*ve),_e("beforeResize"),void 0!==f){for(var o,r,u,c=0;l>c;c++)o=T[c],Re((c+f)*xe.x,o.el.style),u=p+c-1,s.loop&&Qt()>2&&(u=Ee(u)),r=Jt(u),r&&(I||r.needsUpdate||!r.bounds)?(a.cleanSlide(r),a.setContent(o,u),1===c&&(a.currItem=r,a.updateCurrZoomItem(!0)),r.needsUpdate=!1):-1===o.index&&u>=0&&a.setContent(o,u),r&&r.container&&(sn(r,he),pn(r),Ae(r));I=!1}y=x=a.currItem.initialZoomLevel,ne=a.currItem.bounds,ne&&(fe.x=ne.center.x,fe.y=ne.center.y,ke(!0)),_e("resize")},zoomTo:function(e,t,n,o,a){t&&(y=x,yt.x=Math.abs(t.x)-fe.x,yt.y=Math.abs(t.y)-fe.y,Pe(me,fe));var r=Be(e,!1),l={};Ge("x",r,l,e),Ge("y",r,l,e);var s=x,u={x:fe.x,y:fe.y};ze(l);var c=function(t){1===t?(x=e,fe.x=l.x,fe.y=l.y):(x=(e-s)*t+s,fe.x=(l.x-u.x)*t+u.x,fe.y=(l.y-u.y)*t+u.y),a&&a(t),ke(1===t)};n?nt("customZoomTo",0,1,n,o||i.easing.sine.inOut,c):c(1)}},it=30,at=10,rt={},lt={},st={},ut={},ct={},dt=[],pt={},mt=[],ft={},ht=0,vt=de(),gt=0,xt=de(),yt=de(),wt=de(),bt=function(e,t){return e.x===t.x&&e.y===t.y},Ct=function(e,t){return Math.abs(e.x-t.x)-1)&&(t(e)?e:St(e.parentNode,t)))},_t={},Mt=function(e,t){return _t.prevent=!St(e.target,s.isClickableElement),_e("preventDragEvent",e,t,_t),_t.prevent},Ft=function(e,t){return t.x=e.pageX,t.y=e.pageY,t.id=e.identifier,t},Ot=function(e,t,n){n.x=.5*(e.x+t.x),n.y=.5*(e.y+t.y)},kt=function(e,t,n){if(e-K>50){var o=mt.length>2?mt.shift():{};o.x=t,o.y=n,mt.push(o),K=e}},At=function(){var e=fe.y-a.currItem.initialPosition.y;return 1-Math.abs(e/(he.y/2))},Rt={},Lt={},Zt=[],Pt=function(e){for(;Zt.length>0;)Zt.pop();return O?(ce=0,dt.forEach(function(e){0===ce?Zt[0]=e:1===ce&&(Zt[1]=e),ce++})):e.type.indexOf("touch")>-1?e.touches&&e.touches.length>0&&(Zt[0]=Ft(e.touches[0],Rt),e.touches.length>1&&(Zt[1]=Ft(e.touches[1],Lt))):(Rt.x=e.pageX,Rt.y=e.pageY,Rt.id="",Zt[0]=Rt),Zt},zt=function(e,t){var n,o,i,r,l=0,u=fe[e]+t[e],c=t[e]>0,d=xt.x+t.x,p=xt.x-pt.x;return n=u>ne.min[e]||une.min[e]&&(n=s.panEndFriction,l=ne.min[e]-u,o=ne.min[e]-me[e]),(0>=o||0>p)&&Qt()>1?(r=d,0>p&&d>pt.x&&(r=pt.x)):ne.min.x!==ne.max.x&&(i=u)):(u=o||p>0)&&Qt()>1?(r=d,p>0&&da.currItem.fitRatio&&(fe[e]+=t[e]*n)):(void 0!==r&&(Le(r,!0),$=r!==pt.x),ne.min.x!==ne.max.x&&(void 0!==i?fe.x=i:$||(fe.x+=t.x*n)),void 0!==r)},Nt=function(e){if(!("mousedown"===e.type&&e.button>0)){if($t)return void e.preventDefault();if(!Y||"mousedown"!==e.type){if(Mt(e,!0)&&e.preventDefault(),_e("pointerDown"),O){var t=i.arraySearch(dt,e.pointerId,"id");0>t&&(t=dt.length),dt[t]={x:e.pageX,y:e.pageY,id:e.pointerId}}var n=Pt(e),o=n.length;J=null,tt(),G&&1!==o||(G=re=!0,i.bind(window,h,a),B=ue=le=W=$=X=q=V=!1,ae=null,_e("firstTouchStart",n),Pe(me,fe),pe.x=pe.y=0,Pe(ut,n[0]),Pe(ct,ut),pt.x=xe.x*ve,mt=[{x:ut.x,y:ut.y}],K=U=Me(),Be(x,!0),Tt(),Et()),!Q&&o>1&&!ie&&!$&&(y=x,V=!1,Q=q=!0,pe.y=pe.x=0,Pe(me,fe),Pe(rt,n[0]),Pe(lt,n[1]),Ot(rt,lt,wt),yt.x=Math.abs(wt.x)-fe.x,yt.y=Math.abs(wt.y)-fe.y,ee=te=It(rt,lt))}}},Ut=function(e){if(e.preventDefault(),O){var t=i.arraySearch(dt,e.pointerId,"id");if(t>-1){var n=dt[t];n.x=e.pageX,n.y=e.pageY}}if(G){var o=Pt(e);if(ae||X||Q)J=o;else if(xt.x!==xe.x*ve)ae="h";else{var a=Math.abs(o[0].x-ut.x)-Math.abs(o[0].y-ut.y);Math.abs(a)>=at&&(ae=a>0?"h":"v",J=o)}}},Kt=function(){if(J){var e=J.length;if(0!==e)if(Pe(rt,J[0]),st.x=rt.x-ut.x,st.y=rt.y-ut.y,Q&&e>1){if(ut.x=rt.x,ut.y=rt.y,!st.x&&!st.y&&bt(J[1],lt))return;Pe(lt,J[1]),V||(V=!0,_e("zoomGestureStarted"));var t=It(rt,lt),n=Gt(t);n>a.currItem.initialZoomLevel+a.currItem.initialZoomLevel/15&&(ue=!0);var o=1,i=We(),r=Ye();if(i>n)if(s.pinchToClose&&!ue&&y<=a.currItem.initialZoomLevel){var l=i-n,u=1-l/(i/1.2);Fe(u),_e("onPinchClose",u),le=!0}else o=(i-n)/i,o>1&&(o=1),n=i-o*(i/3);else n>r&&(o=(n-r)/(6*i),o>1&&(o=1),n=r+o*i);0>o&&(o=0),ee=t,Ot(rt,lt,vt),pe.x+=vt.x-wt.x,pe.y+=vt.y-wt.y,Pe(wt,vt),fe.x=Ze("x",n),fe.y=Ze("y",n),B=n>x,x=n,ke()}else{if(!ae)return;if(re&&(re=!1,Math.abs(st.x)>=at&&(st.x-=J[0].x-ct.x),Math.abs(st.y)>=at&&(st.y-=J[0].y-ct.y)),ut.x=rt.x,ut.y=rt.y,0===st.x&&0===st.y)return;if("v"===ae&&s.closeOnVerticalDrag&&!Dt()){pe.y+=st.y,fe.y+=st.y;var c=At();return W=!0,_e("onVerticalDrag",c),Fe(c),void ke()}kt(Me(),rt.x,rt.y),X=!0,ne=a.currItem.bounds;var d=zt("x",st);d||(zt("y",st),ze(fe),ke())}}},Ht=function(e){if(N.isOldAndroid){if(Y&&"mouseup"===e.type)return;e.type.indexOf("touch")>-1&&(clearTimeout(Y),Y=setTimeout(function(){Y=0},600))}_e("pointerUp"),Mt(e,!1)&&e.preventDefault();var t;if(O){var n=i.arraySearch(dt,e.pointerId,"id");if(n>-1)if(t=dt.splice(n,1)[0],navigator.pointerEnabled)t.type=e.pointerType||"mouse";else{var o={4:"mouse",2:"touch",3:"pen"};t.type=o[e.pointerType],t.type||(t.type=e.pointerType||"mouse")}}var r,l=Pt(e),u=l.length;if("mouseup"===e.type&&(u=0),2===u)return J=null,!0;1===u&&Pe(ct,l[0]),0!==u||ae||ie||(t||("mouseup"===e.type?t={x:e.pageX,y:e.pageY,type:"mouse"}:e.changedTouches&&e.changedTouches[0]&&(t={x:e.changedTouches[0].pageX,y:e.changedTouches[0].pageY,type:"touch"})),_e("touchRelease",e,t));var c=-1;if(0===u&&(G=!1,i.unbind(window,h,a),Tt(),Q?c=0:-1!==gt&&(c=Me()-gt)),gt=1===u?Me():-1,r=-1!==c&&150>c?"zoom":"swipe",Q&&2>u&&(Q=!1,1===u&&(r="zoomPointerUp"),_e("zoomGestureEnded")),J=null,X||V||ie||W)if(tt(),H||(H=Bt()),H.calculateSwipeSpeed("x"),W){var d=At();if(da.currItem.fitRatio&&Wt(H))}},Bt=function(){var e,t,n={lastFlickOffset:{},lastFlickDist:{},lastFlickSpeed:{},slowDownRatio:{},slowDownRatioReverse:{},speedDecelerationRatio:{},speedDecelerationRatioAbs:{},distanceOffset:{},backAnimDestination:{},backAnimStarted:{},calculateSwipeSpeed:function(o){mt.length>1?(e=Me()-K+50,t=mt[mt.length-2][o]):(e=Me()-U,t=ct[o]),n.lastFlickOffset[o]=ut[o]-t,n.lastFlickDist[o]=Math.abs(n.lastFlickOffset[o]),n.lastFlickDist[o]>20?n.lastFlickSpeed[o]=n.lastFlickOffset[o]/e:n.lastFlickSpeed[o]=0,Math.abs(n.lastFlickSpeed[o])<.1&&(n.lastFlickSpeed[o]=0),n.slowDownRatio[o]=.95,n.slowDownRatioReverse[o]=1-n.slowDownRatio[o],n.speedDecelerationRatio[o]=1},calculateOverBoundsAnimOffset:function(e,t){n.backAnimStarted[e]||(fe[e]>ne.min[e]?n.backAnimDestination[e]=ne.min[e]:fe[e]it&&(l||t.lastFlickOffset.x>20)?o=-1:-it>r&&(l||t.lastFlickOffset.x<-20)&&(o=1)}var u;o&&(p+=o,0>p?(p=s.loop?Qt()-1:0,u=!0):p>=Qt()&&(p=s.loop?0:Qt()-1,u=!0),(!u||s.loop)&&(ye+=o,ve-=o,n=!0));var c,d=xe.x*ve,m=Math.abs(d-xt.x);return n||d>xt.x==t.lastFlickSpeed.x>0?(c=Math.abs(t.lastFlickSpeed.x)>0?m/Math.abs(t.lastFlickSpeed.x):333,c=Math.min(c,400),c=Math.max(c,250)):c=333,ht===p&&(n=!1),ie=!0,_e("mainScrollAnimStart"),nt("mainScroll",xt.x,d,c,i.easing.cubic.out,Le,function(){tt(),ie=!1,ht=-1,(n||ht!==p)&&a.updateCurrItem(),_e("mainScrollAnimComplete")}),n&&a.updateCurrItem(!0),n},Gt=function(e){return 1/te*e*y},qt=function(){var e=x,t=We(),n=Ye();t>x?e=t:x>n&&(e=n);var o,r=1,l=se;return le&&!B&&!ue&&t>x?(a.close(),!0):(le&&(o=function(e){Fe((r-l)*e+l)}),a.zoomTo(e,0,200,i.easing.cubic.out,o),!0)};Te("Gestures",{publicMethods:{initGestures:function(){var e=function(e,t,n,o,i){D=e+t,S=e+n,_=e+o,M=i?e+i:""};O=N.pointerEvent,O&&N.touch&&(N.touch=!1),O?navigator.pointerEnabled?e("pointer","down","move","up","cancel"):e("MSPointer","Down","Move","Up","Cancel"):N.touch?(e("touch","start","move","end","cancel"),k=!0):e("mouse","down","move","up"),h=S+" "+_+" "+M,v=D,O&&!k&&(k=navigator.maxTouchPoints>1||navigator.msMaxTouchPoints>1),a.likelyTouchDevice=k,g[D]=Nt,g[S]=Ut,g[_]=Ht,M&&(g[M]=g[_]),N.touch&&(v+=" mousedown",h+=" mousemove mouseup",g.mousedown=g[D],g.mousemove=g[S],g.mouseup=g[_]),k||(s.allowPanToNext=!1)}}});var Vt,Xt,jt,$t,Jt,Qt,en,tn=function(t,n,o,r){Vt&&clearTimeout(Vt),$t=!0,jt=!0;var l;t.initialLayout?(l=t.initialLayout,t.initialLayout=null):l=s.getThumbBoundsFn&&s.getThumbBoundsFn(p);var u=o?s.hideAnimationDuration:s.showAnimationDuration,c=function(){Qe("initialZoom"),o?(a.template.removeAttribute("style"),a.bg.removeAttribute("style")):(Fe(1),n&&(n.style.display="block"),i.addClass(e,"pswp--animated-in"),_e("initialZoom"+(o?"OutEnd":"InEnd"))),r&&r(),$t=!1};if(!u||!l||void 0===l.x)return _e("initialZoom"+(o?"Out":"In")),x=t.initialZoomLevel,Pe(fe,t.initialPosition),ke(),e.style.opacity=o?0:1,Fe(1),void(u?setTimeout(function(){c()},u):c());var m=function(){var n=d,r=!a.currItem.src||a.currItem.loadError||s.showHideOpacity;t.miniImg&&(t.miniImg.style.webkitBackfaceVisibility="hidden"),o||(x=l.w/t.w,fe.x=l.x,fe.y=l.y-Z,a[r?"template":"bg"].style.opacity=.001,ke()),et("initialZoom"),o&&!n&&i.removeClass(e,"pswp--animated-in"),r&&(o?i[(n?"remove":"add")+"Class"](e,"pswp--animate_opacity"):setTimeout(function(){i.addClass(e,"pswp--animate_opacity")},30)),Vt=setTimeout(function(){if(_e("initialZoom"+(o?"Out":"In")),o){var a=l.w/t.w,s={x:fe.x,y:fe.y},d=x,p=se,m=function(t){1===t?(x=a,fe.x=l.x,fe.y=l.y-z):(x=(a-d)*t+d,fe.x=(l.x-s.x)*t+s.x,fe.y=(l.y-z-s.y)*t+s.y),ke(),r?e.style.opacity=1-t:Fe(p-t*p)};n?nt("initialZoom",0,1,u,i.easing.cubic.out,m,c):(m(1),Vt=setTimeout(c,u+20))}else x=t.initialZoomLevel,Pe(fe,t.initialPosition),ke(),Fe(1),r?e.style.opacity=1:Fe(1),Vt=setTimeout(c,u+20)},o?25:90)};m()},nn={},on=[],an={index:0,errorMsg:'
The image could not be loaded.
',forceProgressiveLoading:!1,preload:[1,1],getNumItemsFn:function(){return Xt.length}},rn=function(){return{center:{x:0,y:0},max:{x:0,y:0},min:{x:0,y:0}}},ln=function(e,t,n){var o=e.bounds;o.center.x=Math.round((nn.x-t)/2),o.center.y=Math.round((nn.y-n)/2)+e.vGap.top,o.max.x=t>nn.x?Math.round(nn.x-t):o.center.x,o.max.y=n>nn.y?Math.round(nn.y-n)+e.vGap.top:o.center.y,o.min.x=t>nn.x?0:o.center.x,o.min.y=n>nn.y?e.vGap.top:o.center.y},sn=function(e,t,n){if(e.src&&!e.loadError){var o=!n;if(o&&(e.vGap||(e.vGap={top:0,bottom:0}),_e("parseVerticalMargin",e)),nn.x=t.x,nn.y=t.y-e.vGap.top-e.vGap.bottom,o){var i=nn.x/e.w,a=nn.y/e.h;e.fitRatio=a>i?i:a;var r=s.scaleMode;"orig"===r?n=1:"fit"===r&&(n=e.fitRatio),n>1&&(n=1),e.initialZoomLevel=n,e.bounds||(e.bounds=rn())}if(!n)return;return ln(e,e.w*n,e.h*n),o&&n===e.initialZoomLevel&&(e.initialPosition=e.bounds.center),e.bounds}return e.w=e.h=0,e.initialZoomLevel=e.fitRatio=1,e.bounds=rn(),e.initialPosition=e.bounds.center,e.bounds},un=function(e,t,n,o,i,r){t.loadError||o&&(t.imageAppended=!0,pn(t,o,t===a.currItem&&Ie),n.appendChild(o),r&&setTimeout(function(){t&&t.loaded&&t.placeholder&&(t.placeholder.style.display="none",t.placeholder=null)},500))},cn=function(e){e.loading=!0,e.loaded=!1;var t=e.img=i.createEl("pswp__img","img"),n=function(){e.loading=!1,e.loaded=!0,e.loadComplete?e.loadComplete(e):e.img=null,t.onload=t.onerror=null,t=null};return t.onload=n,t.onerror=function(){e.loadError=!0,n()},t.src=e.src,t},dn=function(e,t){return e.src&&e.loadError&&e.container?(t&&(e.container.innerHTML=""),e.container.innerHTML=s.errorMsg.replace("%url%",e.src),!0):void 0},pn=function(e,t,n){if(e.src){t||(t=e.container.lastChild);var o=n?e.w:Math.round(e.w*e.fitRatio),i=n?e.h:Math.round(e.h*e.fitRatio);e.placeholder&&!e.loaded&&(e.placeholder.style.width=o+"px",e.placeholder.style.height=i+"px"),t.style.width=o+"px",t.style.height=i+"px"}},mn=function(){if(on.length){for(var e,t=0;t=0,i=Math.min(n[0],Qt()),r=Math.min(n[1],Qt());for(t=1;(o?r:i)>=t;t++)a.lazyLoadItem(p+t);for(t=1;(o?i:r)>=t;t++)a.lazyLoadItem(p-t)}),Se("initialLayout",function(){a.currItem.initialLayout=s.getThumbBoundsFn&&s.getThumbBoundsFn(p)}),Se("mainScrollAnimComplete",mn),Se("initialZoomInEnd",mn),Se("destroy",function(){for(var e,t=0;t=0&&void 0!==Xt[e]&&Xt[e]},allowProgressiveImg:function(){return s.forceProgressiveLoading||!k||s.mouseUsed||screen.width>1200},setContent:function(e,t){s.loop&&(t=Ee(t));var n=a.getItemAt(e.index);n&&(n.container=null);var o,r=a.getItemAt(t);if(!r)return void(e.el.innerHTML="");_e("gettingData",t,r),e.index=t,e.item=r;var l=r.container=i.createEl("pswp__zoom-wrap");if(!r.src&&r.html&&(r.html.tagName?l.appendChild(r.html):l.innerHTML=r.html),dn(r),sn(r,he),!r.src||r.loadError||r.loaded)r.src&&!r.loadError&&(o=i.createEl("pswp__img","img"),o.style.opacity=1,o.src=r.src,pn(r,o),un(t,r,l,o,!0));else{if(r.loadComplete=function(n){if(u){if(e&&e.index===t){if(dn(n,!0))return n.loadComplete=n.img=null,sn(n,he),Ae(n),void(e.index===p&&a.updateCurrZoomItem());n.imageAppended?!$t&&n.placeholder&&(n.placeholder.style.display="none",n.placeholder=null):N.transform&&(ie||$t)?on.push({item:n,baseDiv:l,img:n.img,index:t,holder:e,clearPlaceholder:!0}):un(t,n,l,n.img,ie||$t,!0)}n.loadComplete=null,n.img=null,_e("imageLoadComplete",t,n)}},i.features.transform){var c="pswp__img pswp__img--placeholder";c+=r.msrc?"":" pswp__img--placeholder--blank";var d=i.createEl(c,r.msrc?"img":"");r.msrc&&(d.src=r.msrc),pn(r,d),l.appendChild(d),r.placeholder=d}r.loading||cn(r),a.allowProgressiveImg()&&(!jt&&N.transform?on.push({item:r,baseDiv:l,img:r.img,index:t,holder:e}):un(t,r,l,r.img,!0,!0))}jt||t!==p?Ae(r):(oe=l.style,tn(r,o||r.img)),e.el.innerHTML="",e.el.appendChild(l)},cleanSlide:function(e){e.img&&(e.img.onload=e.img.onerror=null),e.loaded=e.loading=e.img=e.imageAppended=!1}}});var fn,hn={},vn=function(e,t,n){var o=document.createEvent("CustomEvent"),i={origEvent:e,target:e.target,releasePoint:t,pointerType:n||"touch"};o.initCustomEvent("pswpTap",!0,!0,i),e.target.dispatchEvent(o)};Te("Tap",{publicMethods:{initTap:function(){Se("firstTouchStart",a.onTapStart),Se("touchRelease",a.onTapRelease),Se("destroy",function(){hn={},fn=null})},onTapStart:function(e){e.length>1&&(clearTimeout(fn),fn=null)},onTapRelease:function(e,t){if(t&&!X&&!q&&!Je){var n=t;if(fn&&(clearTimeout(fn),fn=null,Ct(n,hn)))return void _e("doubleTap",n);if("mouse"===t.type)return void vn(e,t,"mouse");var o=e.target.tagName.toUpperCase();if("BUTTON"===o||i.hasClass(e.target,"pswp__single-tap"))return void vn(e,t);Pe(hn,n),fn=setTimeout(function(){vn(e,t),fn=null},300)}}}});var gn;Te("DesktopZoom",{publicMethods:{initDesktopZoom:function(){P||(k?Se("mouseUsed",function(){a.setupDesktopZoom()}):a.setupDesktopZoom(!0))},setupDesktopZoom:function(t){gn={};var n="wheel mousewheel DOMMouseScroll";Se("bindEvents",function(){i.bind(e,n,a.handleMouseWheel)}),Se("unbindEvents",function(){gn&&i.unbind(e,n,a.handleMouseWheel)}),a.mouseZoomedIn=!1;var o,r=function(){a.mouseZoomedIn&&(i.removeClass(e,"pswp--zoomed-in"),a.mouseZoomedIn=!1),1>x?i.addClass(e,"pswp--zoom-allowed"):i.removeClass(e,"pswp--zoom-allowed"),l()},l=function(){o&&(i.removeClass(e,"pswp--dragging"),o=!1)};Se("resize",r),Se("afterChange",r),Se("pointerDown",function(){a.mouseZoomedIn&&(o=!0,i.addClass(e,"pswp--dragging"))}),Se("pointerUp",l),t||r()},handleMouseWheel:function(e){if(x<=a.currItem.fitRatio)return s.modal&&(!s.closeOnScroll||Je||G?e.preventDefault():F&&Math.abs(e.deltaY)>2&&(d=!0,a.close())),!0;if(e.stopPropagation(),gn.x=0,"deltaX"in e)1===e.deltaMode?(gn.x=18*e.deltaX,gn.y=18*e.deltaY):(gn.x=e.deltaX,gn.y=e.deltaY);else if("wheelDelta"in e)e.wheelDeltaX&&(gn.x=-.16*e.wheelDeltaX),e.wheelDeltaY?gn.y=-.16*e.wheelDeltaY:gn.y=-.16*e.wheelDelta;else{if(!("detail"in e))return;gn.y=e.detail}Be(x,!0);var t=fe.x-gn.x,n=fe.y-gn.y;(s.modal||t<=ne.min.x&&t>=ne.max.x&&n<=ne.min.y&&n>=ne.max.y)&&e.preventDefault(),a.panTo(t,n)},toggleDesktopZoom:function(t){t=t||{x:he.x/2+ge.x,y:he.y/2+ge.y};var n=s.getDoubleTapZoom(!0,a.currItem),o=x===n;a.mouseZoomedIn=!o,a.zoomTo(o?a.currItem.initialZoomLevel:n,t,333),i[(o?"remove":"add")+"Class"](e,"pswp--zoomed-in")}}});var xn,yn,wn,bn,Cn,In,Tn,En,Dn,Sn,_n,Mn,Fn={history:!0,galleryUID:1},On=function(){return _n.hash.substring(1)},kn=function(){xn&&clearTimeout(xn),wn&&clearTimeout(wn)},An=function(){var e=On(),t={};if(e.length<5)return t;var n,o=e.split("&");for(n=0;n-1&&(Tn=Tn.substring(0,t),"&"===Tn.slice(-1)&&(Tn=Tn.slice(0,-1))),setTimeout(function(){u&&i.bind(window,"hashchange",a.onHashChange)},40)}},onHashChange:function(){return On()===Tn?(Dn=!0,void a.close()):void(bn||(Cn=!0,a.goTo(An().pid),Cn=!1))},updateURL:function(){kn(),Cn||(En?xn=setTimeout(Rn,800):Rn())}}}),i.extend(a,ot)};return e}),!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.PhotoSwipeUI_Default=t()}(this,function(){"use strict";var e=function(e,t){var n,o,i,a,r,l,s,u,c,d,p,m,f,h,v,g,x,y,w,b=this,C=!1,I=!0,T=!0,E={barsSize:{top:44,bottom:"auto"},closeElClasses:["item","caption","zoom-wrap","ui","top-bar"],timeToIdle:4e3,timeToIdleOutside:1e3,loadingIndicatorDelay:1e3, addCaptionHTMLFn:function(e,t){return e.title?(t.children[0].innerHTML=e.title,!0):(t.children[0].innerHTML="",!1)},closeEl:!0,captionEl:!0,fullscreenEl:!0,zoomEl:!0,shareEl:!0,counterEl:!0,arrowEl:!0,preloaderEl:!0,tapToClose:!1,tapToToggleControls:!0,clickToCloseNonZoomable:!0,shareButtons:[{id:"facebook",label:"Share on Facebook",url:"https://www.facebook.com/sharer/sharer.php?u={{url}}"},{id:"twitter",label:"Tweet",url:"https://twitter.com/intent/tweet?text={{text}}&url={{url}}"},{id:"pinterest",label:"Pin it",url:"http://www.pinterest.com/pin/create/button/?url={{url}}&media={{image_url}}&description={{text}}"},{id:"download",label:"Download image",url:"{{raw_image_url}}",download:!0}],getImageURLForShare:function(){return e.currItem.src||""},getPageURLForShare:function(){return window.location.href},getTextForShare:function(){return e.currItem.title||""},indexIndicatorSep:" / ",fitControlsWidth:1200},D=function(e){if(g)return!0;e=e||window.event,v.timeToIdle&&v.mouseUsed&&!c&&Z();for(var n,o,i=e.target||e.srcElement,a=i.getAttribute("class")||"",r=0;r-1&&(n.onTap(),o=!0);if(o){e.stopPropagation&&e.stopPropagation(),g=!0;var l=t.features.isOldAndroid?600:30;x=setTimeout(function(){g=!1},l)}},S=function(){return!e.likelyTouchDevice||v.mouseUsed||screen.width>v.fitControlsWidth},_=function(e,n,o){t[(o?"add":"remove")+"Class"](e,"pswp__"+n)},M=function(){var e=1===v.getNumItemsFn();e!==h&&(_(o,"ui--one-slide",e),h=e)},F=function(){_(s,"share-modal--hidden",T)},O=function(){return T=!T,T?(t.removeClass(s,"pswp__share-modal--fade-in"),setTimeout(function(){T&&F()},300)):(F(),setTimeout(function(){T||t.addClass(s,"pswp__share-modal--fade-in")},30)),T||A(),!1},k=function(t){t=t||window.event;var n=t.target||t.srcElement;return e.shout("shareLinkClick",t,n),!!n.href&&(!!n.hasAttribute("download")||(window.open(n.href,"pswp_share","scrollbars=yes,resizable=yes,toolbar=no,location=yes,width=550,height=420,top=100,left="+(window.screen?Math.round(screen.width/2-275):100)),T||O(),!1))},A=function(){for(var e,t,n,o,i,a="",r=0;r