{"version":3,"sources":["lightgallery.js","lg-thumbnail.js","lg-fullscreen.js","lg-video.js"],"names":["$","window","document","undefined","Plugin","element","options","this","el","$el","s","extend","defaults","modules","lGalleryOn","lgBusy","hideBartimeout","isTouch","documentElement","slideEndAnimatoin","hideControlOnEnd","dynamic","$items","dynamicEl","selector","find","children","$slide","$outer","init","mode","cssEasing","easing","speed","height","width","addClass","startClass","backdropDuration","hideBarsDelay","useLeft","closable","loop","escKey","keyPress","controls","mousewheel","appendSubHtmlTo","preload","showAfterLoad","nextHtml","prevHtml","index","iframeMaxWidth","download","counter","appendCounterTo","swipeThreshold","enableSwipe","enableDrag","galleryId","prototype","_this","length","_hash","location","hash","indexOf","parseInt","split","hasClass","setTimeout","build","trigger","on","event","preventDefault","er","returnValue","structure","each","fn","lightGallery","key","slide","arrow","closeGallery","removeClass","clearTimeout","template","list","i","subHtmlCont","append","css","setTop","eq","doCss","$inner","wH","top","$lGallery","support","transition","root","style","isVideo","src","html","attr","html5","youtube","match","vimeo","dailymotion","addHtml","subHtml","fL","substring","j","loadContent","rec","delay","_$img","_src","_poster","_srcset","_sizes","_html","_hasPoster","getResponsiveSrc","srcItms","rsWidth","rsSrc","__src","splice","push","wWidth","poster","responsive","srcDyItms","srcset","sizes","iframe","_isVideo","prepend","videoClass","picturefill","elements","e","console","error","_speed","fromTouch","fromThumb","_prevIndex","_length","_time","_next","_prev","arrowDisable","touchPrev","touchNext","fadeOut","fadeIn","downloadUrl","text","goToNextSlide","goToPrevSlide","keyCode","destroy","removeAttr","setTranslate","xValue","yValue","transform","touchMove","startCoords","endCoords","distance","touchEnd","not","Math","abs","isMoved","manageSwipeClass","originalEvent","targetTouches","pageX","isDraging","target","scrollLeft","deltaY","mousedown","is","d","off","removeData","remove","data","err","jQuery","thumbnail","animateThumb","currentPagerPosition","thumbWidth","thumbContHeight","thumbMargin","exThumbImage","showThumbByDefault","toogleThumb","pullCaptionUp","enableThumbDrag","enableThumbSwipe","loadYoutubeThumbnail","youtubeThumbSize","loadVimeoThumbnail","vimeoThumbSize","loadDailymotionThumbnail","Thumbnail","core","$thumbOuter","thumbOuterWidth","thumbTotalWidth","thumbIndex","left","thumbClickable","toogle","thumbkeyPress","getThumb","thumb","thumbImg","vimeoId","vimeoErrorThumbSize","thumbList","$thumb","position","$this","vimeoVideoId","getJSON","format","_$this","value","animate","tempLeft","toggleClass","fullScreen","Fullscreen","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","reuestFullscreen","requestFullscreen","msRequestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","exitFullscreen","msExitFullscreen","mozCancelFullScreen","webkitExitFullscreen","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","fullscreen","videoMaxWidth","youtubePlayerParams","vimeoPlayerParams","dailymotionPlayerParams","videojs","Video","videoLoaded","loadVideo","get","play","loadOnClick","youtubePlayer","vimeoPlayer","dailymotionPlayer","html5Player","contentWindow","postMessage","$f","api","_loadVideo","$tempImg","prevIndex","$videoSlide","pause","noposter","video","autoplay","a","param"],"mappings":"CAGA,SAAAA,EAAAC,EAAAC,EAAAC,GAEA,YAkEA,SAAAC,GAAAC,EAAAC,GAmDA,MAhDAC,MAAAC,GAAAH,EAGAE,KAAAE,IAAAT,EAAAK,GAGAE,KAAAG,EAAAV,EAAAW,UAAAC,EAAAN,GAGAC,KAAAM,WAGAN,KAAAO,YAAA,EAEAP,KAAAQ,QAAA,EAGAR,KAAAS,gBAAA,EAGAT,KAAAU,QAAA,gBAAAf,GAAAgB,gBAGAX,KAAAG,EAAAS,oBACAZ,KAAAG,EAAAU,kBAAA,GAIAb,KAAAG,EAAAW,QACAd,KAAAe,OAAAf,KAAAG,EAAAa,UAEA,SAAAhB,KAAAG,EAAAc,SACAjB,KAAAe,OAAAf,KAAAE,IACA,KAAAF,KAAAG,EAAAc,SACAjB,KAAAe,OAAAf,KAAAE,IAAAgB,KAAAzB,EAAAO,KAAAG,EAAAc,WAEAjB,KAAAe,OAAAf,KAAAE,IAAAiB,WAKAnB,KAAAoB,OAAA,GAGApB,KAAAqB,OAAA,GAEArB,KAAAsB,OAEAtB,KAnHA,GAAAK,IAEAkB,KAAA,WAGAC,UAAA,iCAGAC,OAAA,SACAC,MAAA,IACAC,OAAA,OACAC,MAAA,OACAC,SAAA,GACAC,WAAA,gBACAC,iBAAA,IACAC,cAAA,IAEAC,SAAA,EAEAC,UAAA,EACAC,MAAA,EACAC,QAAA,EACAC,UAAA,EACAC,UAAA,EACA1B,mBAAA,EACAC,kBAAA,EACA0B,YAAA,EAGAC,gBAAA,eAWAC,QAAA,EACAC,eAAA,EACAzB,SAAA,GACA0B,SAAA,GACAC,SAAA,GAGAC,OAAA,EAEAC,eAAA,OAEAC,UAAA,EACAC,SAAA,EACAC,gBAAA,cAEAC,eAAA,GACAC,aAAA,EACAC,YAAA,EAEAtC,SAAA,EACAE,aACAqC,UAAA,EAyDAxD,GAAAyD,UAAAhC,KAAA,WAEA,GAAAiC,GAAAvD,IAGAuD,GAAApD,EAAAsC,QAAAc,EAAAxC,OAAAyC,SACAD,EAAApD,EAAAsC,QAAAc,EAAAxC,OAAAyC,OAIA,IAAAC,GAAA/D,EAAAgE,SAAAC,IACAF,GAAAG,QAAA,MAAA5D,KAAAG,EAAAkD,WAAA,IAEAE,EAAAV,MAAAgB,SAAAJ,EAAAK,MAAA,WAAA,GAAA,IAEArE,EAAA,QAAAoC,SAAA,gBACApC,EAAA,QAAAsE,SAAA,UACAC,WAAA,WACAT,EAAAU,MAAAV,EAAAV,OACApD,EAAA,QAAAoC,SAAA,YAKA0B,EAAApD,EAAAW,SAEAyC,EAAArD,IAAAgE,QAAA,mBAEAX,EAAAV,MAAAU,EAAApD,EAAA0C,OAAA,EAGApD,EAAA,QAAAsE,SAAA,UACAC,WAAA,WACAT,EAAAU,MAAAV,EAAAV,OACApD,EAAA,QAAAoC,SAAA,YAMA0B,EAAAxC,OAAAoD,GAAA,iBAAA,SAAAC,GAGA,IACAA,EAAAC,iBACAD,EAAAC,iBACA,MAAAC,GACAF,EAAAG,aAAA,EAGAhB,EAAArD,IAAAgE,QAAA,mBAEAX,EAAAV,MAAAU,EAAApD,EAAA0C,OAAAU,EAAAxC,OAAA8B,MAAA7C,MAGAP,EAAA,QAAAsE,SAAA,WACAR,EAAAU,MAAAV,EAAAV,OACApD,EAAA,QAAAoC,SAAA,aAOAhC,EAAAyD,UAAAW,MAAA,SAAApB,GAEA,GAAAU,GAAAvD,IAEAuD,GAAAiB,YAGA/E,EAAAgF,KAAAhF,EAAAiF,GAAAC,aAAArE,QAAA,SAAAsE,GACArB,EAAAjD,QAAAsE,GAAA,GAAAnF,GAAAiF,GAAAC,aAAArE,QAAAsE,GAAArB,EAAAtD,MAIAsD,EAAAsB,MAAAhC,GAAA,GAAA,GAEAU,EAAApD,EAAAkC,UACAkB,EAAAlB,WAGAkB,EAAAxC,OAAAyC,OAAA,IAEAD,EAAAuB,QAEAd,WAAA,WACAT,EAAAH,aACAG,EAAAJ,eACA,IAEAI,EAAApD,EAAAoC,YACAgB,EAAAhB,cAIAgB,EAAAP,UAEAO,EAAAwB,eAEAxB,EAAArD,IAAAgE,QAAA,kBAGAX,EAAAlC,OAAA8C,GAAA,sCAAA,WAEAZ,EAAAlC,OAAA2D,YAAA,iBAEAC,aAAA1B,EAAA9C,gBAGA8C,EAAA9C,eAAAuD,WAAA,WACAT,EAAAlC,OAAAQ,SAAA,kBACA0B,EAAApD,EAAA6B,kBAMAnC,EAAAyD,UAAAkB,UAAA,WACA,GAIAU,GAJAC,EAAA,GACA7C,EAAA,GACA8C,EAAA,EACAC,EAAA,GAEA9B,EAAAvD,IAMA,KAJAP,EAAA,QAAA6F,OAAA,mCACA7F,EAAA,gBAAA8F,IAAA,sBAAAvF,KAAAG,EAAA4B,iBAAA,MAGAqD,EAAA,EAAAA,EAAApF,KAAAe,OAAAyC,OAAA4B,IACAD,GAAA,6BAgEA,IA5DAnF,KAAAG,EAAAmC,UAAAtC,KAAAe,OAAAyC,OAAA,IACAlB,EAAA,wDACAtC,KAAAG,EAAAyC,SAAA,sCACA5C,KAAAG,EAAAwC,SAAA,gBAIA,iBAAA3C,KAAAG,EAAAqC,kBACA6C,EAAA,mCAGAH,EAAA,wBAAAlF,KAAAG,EAAA0B,SAAA,IAAA7B,KAAAG,EAAA2B,WAAA,kCACA9B,KAAAG,EAAAyB,MAAA,YAAA5B,KAAAG,EAAAwB,OAAA,2BACAwD,EAAA,mFAIA7C,EACA+C,EACA,eAGA5F,EAAA,QAAA6F,OAAAJ,GACAlF,KAAAqB,OAAA5B,EAAA,aACAO,KAAAoB,OAAApB,KAAAqB,OAAAH,KAAA,YAEAlB,KAAAG,EAAA8B,QACAjC,KAAAqB,OAAAQ,SAAA,eAEA7B,KAAAqB,OAAAQ,SAAA,eAIA0B,EAAAiC,SACA/F,EAAAC,GAAAyE,GAAA,iCAAA,WACAH,WAAA,WACAT,EAAAiC,UACA,OAIAxF,KAAAoB,OAAAqE,GAAAzF,KAAA6C,OAAAhB,SAAA,cAGA7B,KAAA0F,QACA1F,KAAAqB,OAAAQ,SAAA,WAEA7B,KAAAqB,OAAAQ,SAAA,UAGA7B,KAAAqB,OAAAQ,SAAA7B,KAAAG,EAAAoB,MAEAvB,KAAAG,EAAAiD,YAAApD,KAAAe,OAAAyC,OAAA,GACAxD,KAAAqB,OAAAQ,SAAA,WAGA7B,KAAAG,EAAAuC,eACA1C,KAAAqB,OAAAQ,SAAA,sBAGA7B,KAAA0F,QAAA,CACA,GAAAC,GAAA3F,KAAAqB,OAAAH,KAAA,YACAyE,GAAAJ,IAAA,6BAAAvF,KAAAG,EAAAqB,WACAmE,EAAAJ,IAAA,sBAAAvF,KAAAG,EAAAuB,MAAA,MAGAjC,EAAA,gBAAAoC,SAAA,MAEAmC,WAAA,WACAT,EAAAlC,OAAAQ,SAAA,eACA7B,KAAAG,EAAA4B,kBAEA/B,KAAAG,EAAA4C,UACA/C,KAAAqB,OAAAH,KAAA,eAAAoE,OAAA,kFAMAzF,EAAAyD,UAAAkC,OAAA,WACA,GAAA,SAAAxF,KAAAG,EAAAwB,OAAA,CACA,GAAAiE,GAAAnG,EAAAC,GAAAiC,SACAkE,GAAAD,EAAA/B,SAAA7D,KAAAG,EAAAwB,OAAA,KAAA,EACAmE,EAAA9F,KAAAqB,OAAAH,KAAA,MACA0E,IAAA/B,SAAA7D,KAAAG,EAAAwB,OAAA,IACAmE,EAAAP,IAAA,MAAAM,EAAA,MAEAC,EAAAP,IAAA,MAAA,SAMA1F,EAAAyD,UAAAoC,MAAA,WAEA,GAAAK,GAAA,WACA,GAAAC,IAAA,aAAA,gBAAA,mBAAA,cAAA,eAAA,mBACAC,EAAAtG,EAAAgB,gBACAyE,EAAA,CACA,KAAAA,EAAA,EAAAA,EAAAY,EAAAxC,OAAA4B,IACA,GAAAY,EAAAZ,IAAAa,GAAAC,MACA,OAAA,EAKA,SAAAH,KAaAlG,EAAAyD,UAAA6C,QAAA,SAAAC,EAAAvD,GAEA,GAAAwD,EAOA,IALAA,EADArG,KAAAG,EAAAW,QACAd,KAAAG,EAAAa,UAAA6B,GAAAwD,KAEArG,KAAAe,OAAA0E,GAAA5C,GAAAyD,KAAA,cAGAF,GAAAC,EACA,OACAE,OAAA,EAIA,IAAAC,GAAAJ,EAAAK,MAAA,iFACAC,EAAAN,EAAAK,MAAA,4CACAE,EAAAP,EAAAK,MAAA,wCAEA,OAAAD,IAEAA,QAAAA,GAEAE,GAEAA,MAAAA,GAEAC,GAEAA,YAAAA,GAFA,QAWA9G,EAAAyD,UAAAN,QAAA,WACAhD,KAAAG,EAAA6C,SACAvD,EAAAO,KAAAG,EAAA8C,iBAAAqC,OAAA,uDAAAzB,SAAA7D,KAAA6C,MAAA,IAAA,GAAA,uCAAA7C,KAAAe,OAAAyC,OAAA,kBAQA3D,EAAAyD,UAAAsD,QAAA,SAAA/D,GACA,GAAAgE,GAAA,IAOA,IALAA,EADA7G,KAAAG,EAAAW,QACAd,KAAAG,EAAAa,UAAA6B,GAAAgE,QAEA7G,KAAAe,OAAA0E,GAAA5C,GAAAyD,KAAA,iBAGA,mBAAAO,IAAA,OAAAA,EAAA,CAIA,GAAAC,GAAAD,EAAAE,UAAA,EAAA,EAEAF,GADA,MAAAC,GAAA,MAAAA,EACArH,EAAAoH,GAAAR,OAEAQ,MAGAA,GAAA,EAGA,kBAAA7G,KAAAG,EAAAqC,iBACAxC,KAAAqB,OAAAH,KAAAlB,KAAAG,EAAAqC,iBAAA6D,KAAAQ,GAGA,KAAAA,EACA7G,KAAAqB,OAAAH,KAAAlB,KAAAG,EAAAqC,iBAAAX,SAAA,iBAEA7B,KAAAqB,OAAAH,KAAAlB,KAAAG,EAAAqC,iBAAAwC,YAAA,kBAGAhF,KAAAoB,OAAAqE,GAAA5C,GAAAyC,OAAAuB,GAGA7G,KAAAE,IAAAgE,QAAA,2BAAArB,KAOAhD,EAAAyD,UAAAb,QAAA,SAAAI,GACA,GAAAuC,GAAA,EACA4B,EAAA,CACA,KAAA5B,EAAA,EAAAA,GAAApF,KAAAG,EAAAsC,WACA2C,GAAApF,KAAAe,OAAAyC,OAAAX,GADAuC,IAKApF,KAAAiH,YAAApE,EAAAuC,GAAA,EAAA,EAGA,KAAA4B,EAAA,EAAAA,GAAAhH,KAAAG,EAAAsC,WACAI,EAAAmE,EAAA,GADAA,IAKAhH,KAAAiH,YAAApE,EAAAmE,GAAA,EAAA,IAUAnH,EAAAyD,UAAA2D,YAAA,SAAApE,EAAAqE,EAAAC,GAEA,GAEAC,GACAC,EACAC,EACAC,EACAC,EACAC,EAPAlE,EAAAvD,KACA0H,GAAA,EAOAC,EAAA,SAAAC,GAGA,IAAA,GAFAC,MACAC,KACA1C,EAAA,EAAAA,EAAAwC,EAAApE,OAAA4B,IAAA,CACA,GAAA2C,GAAAH,EAAAxC,GAAAtB,MAAA,IAGA,MAAAiE,EAAA,IACAA,EAAAC,OAAA,EAAA,GAGAF,EAAAG,KAAAF,EAAA,IACAF,EAAAI,KAAAF,EAAA,IAIA,IAAA,GADAG,GAAAzI,EAAAC,GAAAkC,QACAoF,EAAA,EAAAA,EAAAa,EAAArE,OAAAwD,IACA,GAAAnD,SAAAgE,EAAAb,GAAA,IAAAkB,EAAA,CACAb,EAAAS,EAAAd,EACA,QAKA,IAAAzD,EAAApD,EAAAW,QAAA,CAUA,GARAyC,EAAApD,EAAAa,UAAA6B,GAAAsF,SACAT,GAAA,EACAJ,EAAA/D,EAAApD,EAAAa,UAAA6B,GAAAsF,QAGAV,EAAAlE,EAAApD,EAAAa,UAAA6B,GAAAwD,KACAgB,EAAA9D,EAAApD,EAAAa,UAAA6B,GAAAuD,IAEA7C,EAAApD,EAAAa,UAAA6B,GAAAuF,WAAA,CACA,GAAAC,GAAA9E,EAAApD,EAAAa,UAAA6B,GAAAuF,WAAAtE,MAAA,IACA6D,GAAAU,GAGAd,EAAAhE,EAAApD,EAAAa,UAAA6B,GAAAyF,OACAd,EAAAjE,EAAApD,EAAAa,UAAA6B,GAAA0F,UAEA,CAUA,GARAhF,EAAAxC,OAAA0E,GAAA5C,GAAAyD,KAAA,iBACAoB,GAAA,EACAJ,EAAA/D,EAAAxC,OAAA0E,GAAA5C,GAAAyD,KAAA,gBAGAmB,EAAAlE,EAAAxC,OAAA0E,GAAA5C,GAAAyD,KAAA,aACAe,EAAA9D,EAAAxC,OAAA0E,GAAA5C,GAAAyD,KAAA,SAAA/C,EAAAxC,OAAA0E,GAAA5C,GAAAyD,KAAA,YAEA/C,EAAAxC,OAAA0E,GAAA5C,GAAAyD,KAAA,mBAAA,CACA,GAAAsB,GAAArE,EAAAxC,OAAA0E,GAAA5C,GAAAyD,KAAA,mBAAAxC,MAAA,IACA6D,GAAAC,GAGAL,EAAAhE,EAAAxC,OAAA0E,GAAA5C,GAAAyD,KAAA,eACAkB,EAAAjE,EAAAxC,OAAA0E,GAAA5C,GAAAyD,KAAA,cAMA,GAAAkC,IAAA,CACAjF,GAAApD,EAAAW,QACAyC,EAAApD,EAAAa,UAAA6B,GAAA2F,SACAA,GAAA,GAGA,SAAAjF,EAAAxC,OAAA0E,GAAA5C,GAAAyD,KAAA,iBACAkC,GAAA,EAIA,IAAAC,GAAAlF,EAAA4C,QAAAkB,EAAAxE,EACA,KAAAU,EAAAnC,OAAAqE,GAAA5C,GAAAkB,SAAA,aAAA,CACA,GAAAyE,EACAjF,EAAAnC,OAAAqE,GAAA5C,GAAA6F,QAAA,+CAAAnF,EAAApD,EAAA2C,eAAA,0EAAAuE,EAAA,uDACA,IAAAK,EAAA,CACA,GAAAiB,GAAA,EAEAA,GADAF,GAAAA,EAAAjC,QACA,iBACAiC,GAAAA,EAAA/B,MACA,eAEA,eAGAnD,EAAAnC,OAAAqE,GAAA5C,GAAA6F,QAAA,6BAAAC,EAAA,yGAAArB,EAAA,wBAEAmB,IACAlF,EAAAnC,OAAAqE,GAAA5C,GAAA6F,QAAA,kEACAnF,EAAArD,IAAAgE,QAAA,eAAArB,EAAAwE,EAAAI,KAEAlE,EAAAnC,OAAAqE,GAAA5C,GAAA6F,QAAA,iEAAArB,EAAA,aAUA,IAPA9D,EAAArD,IAAAgE,QAAA,wBAAArB,IAEAuE,EAAA7D,EAAAnC,OAAAqE,GAAA5C,GAAA3B,KAAA,cACAsG,GACAJ,EAAAd,KAAA,QAAAkB,GAGAD,EAAA,CACAH,EAAAd,KAAA,SAAAiB,EACA,KACAqB,aACAC,UAAAzB,EAAA,MAEA,MAAA0B,GACAC,QAAAC,MAAA,sDAIA,iBAAAhJ,KAAAG,EAAAqC,iBACAe,EAAAqD,QAAA/D,GAGAU,EAAAnC,OAAAqE,GAAA5C,GAAAhB,SAAA,aAGA0B,EAAAnC,OAAAqE,GAAA5C,GAAA3B,KAAA,cAAAiD,GAAA,mBAAA,WAGA,GAAA8E,GAAA,CAIA9B,KAAA1H,EAAA,QAAAsE,SAAA,kBACAkF,EAAA9B,GAGAnD,WAAA,WACAT,EAAAnC,OAAAqE,GAAA5C,GAAAhB,SAAA,eACA0B,EAAArD,IAAAgE,QAAA,sBAAArB,EAAAsE,GAAA,KACA8B,KAKAR,GAAAA,EAAAlC,QAAAmB,GACAnE,EAAAnC,OAAAqE,GAAA5C,GAAAhB,SAAA,eAGAqF,KAAA,IACA3D,EAAAnC,OAAAqE,GAAA5C,GAAAkB,SAAA,eAKAR,EAAAd,QAAAI,GAJAU,EAAAnC,OAAAqE,GAAA5C,GAAA3B,KAAA,cAAAiD,GAAA,mBAAA,WACAZ,EAAAd,QAAAI,OA8BAhD,EAAAyD,UAAAuB,MAAA,SAAAhC,EAAAqG,EAAAC,GAEA,GAAAC,GAAApJ,KAAAqB,OAAAH,KAAA,eAAA2B,QACAU,EAAAvD,IAIA,KAAAuD,EAAAhD,YAAA6I,IAAAvG,EAAA,CAIA,GAAAwG,GAAArJ,KAAAoB,OAAAoC,OACA8F,EAAA/F,EAAAhD,WAAAP,KAAAG,EAAAuB,MAAA,EACA6H,GAAA,EACAC,GAAA,CAEA,KAAAjG,EAAA/C,OAAA,CAmBA,GAjBAR,KAAAE,IAAAgE,QAAA,oBAAAkF,EAAAvG,EAAAqG,EAAAC,IAEA5F,EAAA/C,QAAA,EAEAyE,aAAA1B,EAAA9C,gBAGA,iBAAAT,KAAAG,EAAAqC,iBAGAwB,WAAA,WACAT,EAAAqD,QAAA/D,IACAyG,GAGAtJ,KAAAyJ,aAAA5G,GAEAqG,EA2CA,CAEA,GAAAQ,GAAA7G,EAAA,EACA8G,EAAA9G,EAAA,CAEA,KAAAA,GAAAuG,IAAAC,EAAA,GAGAM,EAAA,EACAD,EAAAL,EAAA,GACAxG,IAAAwG,EAAA,GAAA,IAAAD,IAGAO,EAAA,EACAD,EAAAL,EAAA,GAGArJ,KAAAoB,OAAA4D,YAAA,0CACAzB,EAAAnC,OAAAqE,GAAAiE,GAAA7H,SAAA,iBACA0B,EAAAnC,OAAAqE,GAAAkE,GAAA9H,SAAA,iBACA0B,EAAAnC,OAAAqE,GAAA5C,GAAAhB,SAAA,kBA5DA0B,GAAAlC,OAAAQ,SAAA,eAEA7B,KAAAoB,OAAA4D,YAAA,+BAEAnC,EAAAuG,GACAI,GAAA,EACA,IAAA3G,GAAAuG,IAAAC,EAAA,GAAAF,IACAK,GAAA,EACAD,GAAA,IAEA1G,EAAAuG,IACAG,GAAA,EACA1G,IAAAwG,EAAA,GAAA,IAAAD,GAAAD,IACAK,GAAA,EACAD,GAAA,IAIAC,GAGAxJ,KAAAoB,OAAAqE,GAAA5C,GAAAhB,SAAA,iBACA7B,KAAAoB,OAAAqE,GAAA2D,GAAAvH,SAAA,kBACA0H,IAGAvJ,KAAAoB,OAAAqE,GAAA5C,GAAAhB,SAAA,iBACA7B,KAAAoB,OAAAqE,GAAA2D,GAAAvH,SAAA,kBAIAmC,WAAA,WACAT,EAAAnC,OAAA4D,YAAA,cAGAzB,EAAAnC,OAAAqE,GAAA5C,GAAAhB,SAAA,cAGA0B,EAAAlC,OAAA2D,YAAA,gBACA,GAoDA,IA5BAzB,EAAAhD,YACAyD,WAAA,WACAT,EAAA0D,YAAApE,GAAA,EAAA,IACA7C,KAAAG,EAAAuB,MAAA,IAEAsC,WAAA,WACAT,EAAA/C,QAAA,EACA+C,EAAArD,IAAAgE,QAAA,mBAAAkF,EAAAvG,EAAAqG,EAAAC,KACAnJ,KAAAG,EAAAuB,OAGA6B,EAAAmC,UACAnC,EAAAnC,OAAAwI,QAAArG,EAAApD,EAAAuB,OACA6B,EAAAnC,OAAAqE,GAAA5C,GAAAgH,OAAAtG,EAAApD,EAAAuB,UAGA6B,EAAA0D,YAAApE,GAAA,EAAAU,EAAApD,EAAA4B,kBAEAwB,EAAA/C,QAAA,EACA+C,EAAArD,IAAAgE,QAAA,mBAAAkF,EAAAvG,EAAAqG,EAAAC,IAGA5F,EAAAmC,UACAnC,EAAAnC,OAAAwI,QAAA,IACArG,EAAAnC,OAAAqE,GAAA5C,GAAAgH,OAAA,MAIA7J,KAAAG,EAAA4C,SAAA,CACA,GAAAsE,EAEAA,GADA9D,EAAApD,EAAAW,QACAyC,EAAApD,EAAAa,UAAA6B,GAAAiH,aAAAvG,EAAApD,EAAAa,UAAA6B,GAAAuD,IAEA7C,EAAAxC,OAAA0E,GAAA5C,GAAAyD,KAAA,sBAAA/C,EAAAxC,OAAA0E,GAAA5C,GAAAyD,KAAA,SAAA/C,EAAAxC,OAAA0E,GAAA5C,GAAAyD,KAAA,YAIA7G,EAAA,gBAAA6G,KAAA,OAAAe,GAGA9D,EAAAhD,YAAA,EAEAP,KAAAG,EAAA6C,SACAvD,EAAA,uBAAAsK,KAAAlH,EAAA,MAWAhD,EAAAyD,UAAA0G,cAAA,SAAAd,GACA,GAAA3F,GAAAvD,IACAuD,GAAA/C,SACA+C,EAAAV,MAAA,EAAAU,EAAAnC,OAAAoC,QACAD,EAAAV,QACAU,EAAArD,IAAAgE,QAAA,wBAAAX,EAAAV,QACAU,EAAAsB,MAAAtB,EAAAV,MAAAqG,GAAA,IAEA3F,EAAApD,EAAAgC,MACAoB,EAAAV,MAAA,EACAU,EAAArD,IAAAgE,QAAA,wBAAAX,EAAAV,QACAU,EAAAsB,MAAAtB,EAAAV,MAAAqG,GAAA,IACA3F,EAAApD,EAAAS,oBACA2C,EAAAlC,OAAAQ,SAAA,gBACAmC,WAAA,WACAT,EAAAlC,OAAA2D,YAAA,iBACA,QAUAnF,EAAAyD,UAAA2G,cAAA,SAAAf,GACA,GAAA3F,GAAAvD,IACAuD,GAAA/C,SACA+C,EAAAV,MAAA,GACAU,EAAAV,QACAU,EAAArD,IAAAgE,QAAA,wBAAAX,EAAAV,MAAAqG,IACA3F,EAAAsB,MAAAtB,EAAAV,MAAAqG,GAAA,IAEA3F,EAAApD,EAAAgC,MACAoB,EAAAV,MAAAU,EAAAxC,OAAAyC,OAAA,EACAD,EAAArD,IAAAgE,QAAA,wBAAAX,EAAAV,MAAAqG,IACA3F,EAAAsB,MAAAtB,EAAAV,MAAAqG,GAAA,IACA3F,EAAApD,EAAAS,oBACA2C,EAAAlC,OAAAQ,SAAA,eACAmC,WAAA,WACAT,EAAAlC,OAAA2D,YAAA,gBACA,QAMAnF,EAAAyD,UAAAjB,SAAA,WACA,GAAAkB,GAAAvD,IACAA,MAAAe,OAAAyC,OAAA,GACA/D,EAAAC,GAAAyE,GAAA,WAAA,SAAA2E,GACAvF,EAAAxC,OAAAyC,OAAA,IACA,KAAAsF,EAAAoB,UACApB,EAAAzE,iBACAd,EAAA0G,iBAGA,KAAAnB,EAAAoB,UACApB,EAAAzE,iBACAd,EAAAyG,oBAMAvK,EAAAC,GAAAyE,GAAA,aAAA,SAAA2E,GACAvF,EAAApD,EAAAiC,UAAA,GAAA,KAAA0G,EAAAoB,UACApB,EAAAzE,iBACAd,EAAAlC,OAAA0C,SAAA,iBAGAR,EAAAlC,OAAA2D,YAAA,iBAFAzB,EAAA4G,cAQAtK,EAAAyD,UAAAwB,MAAA,WACA,GAAAvB,GAAAvD,IACAA,MAAAqB,OAAAH,KAAA,YAAAiD,GAAA,WAAA,WACAZ,EAAA0G,kBAGAjK,KAAAqB,OAAAH,KAAA,YAAAiD,GAAA,WAAA,WACAZ,EAAAyG,mBAIAnK,EAAAyD,UAAAmG,aAAA,SAAA5G,IAGA7C,KAAAG,EAAAgC,MAAAnC,KAAAG,EAAAU,mBACAgC,EAAA,EAAA7C,KAAAoB,OAAAoC,OACAxD,KAAAqB,OAAAH,KAAA,YAAAkJ,WAAA,YAAApF,YAAA,YAEAhF,KAAAqB,OAAAH,KAAA,YAAAoF,KAAA,WAAA,YAAAzE,SAAA,YAGAgB,EAAA,EACA7C,KAAAqB,OAAAH,KAAA,YAAAkJ,WAAA,YAAApF,YAAA,YAEAhF,KAAAqB,OAAAH,KAAA,YAAAoF,KAAA,WAAA,YAAAzE,SAAA,cAKAhC,EAAAyD,UAAA+G,aAAA,SAAAnK,EAAAoK,EAAAC,GAEAvK,KAAAG,EAAA8B,QACA/B,EAAAqF,IAAA,OAAA+E,GAEApK,EAAAqF,KACAiF,UAAA,eAAA,EAAA,OAAAD,EAAA,cAKA1K,EAAAyD,UAAAmH,UAAA,SAAAC,EAAAC,GAEA,GAAAC,GAAAD,EAAAD,CAGA1K,MAAAqB,OAAAQ,SAAA,eAGA7B,KAAAqK,aAAArK,KAAAoB,OAAAqE,GAAAzF,KAAA6C,OAAA+H,EAAA,GAGA5K,KAAAqK,aAAA5K,EAAA,mBAAAO,KAAAoB,OAAAqE,GAAAzF,KAAA6C,OAAAjB,QAAAgJ,EAAA,GACA5K,KAAAqK,aAAA5K,EAAA,kBAAAO,KAAAoB,OAAAqE,GAAAzF,KAAA6C,OAAAjB,QAAAgJ,EAAA,IAGA/K,EAAAyD,UAAAuH,SAAA,SAAAD,GACA,GAAArH,GAAAvD,IAGA,cAAAuD,EAAApD,EAAAoB,MACAgC,EAAAlC,OAAAQ,SAAA,YAGA7B,KAAAoB,OAAA0J,IAAA,+CAAAvF,IAAA,UAAA,KAGAvB,WAAA,WACAT,EAAAlC,OAAA2D,YAAA,eACA4F,EAAA,GAAAG,KAAAC,IAAAJ,GAAArH,EAAApD,EAAA+C,eACAK,EAAAyG,eAAA,GACAY,EAAA,GAAAG,KAAAC,IAAAJ,GAAArH,EAAApD,EAAA+C,eACAK,EAAA0G,eAAA,GACAc,KAAAC,IAAAJ,GAAA,GAGArH,EAAArD,IAAAgE,QAAA,mBAGAX,EAAAnC,OAAAgJ,WAAA,WAIApG,WAAA,WACAT,EAAAlC,OAAA0C,SAAA,gBAAA,aAAAR,EAAApD,EAAAoB,MACAgC,EAAAlC,OAAA2D,YAAA,aAEAzB,EAAApD,EAAAuB,MAAA,MAIA7B,EAAAyD,UAAAH,YAAA,WACA,GAAAI,GAAAvD,KACA0K,EAAA,EACAC,EAAA,EACAM,GAAA,CAEA1H,GAAApD,EAAAgD,aAAAI,EAAA7C,SAAA6C,EAAAmC,UAEAnC,EAAAnC,OAAA+C,GAAA,gBAAA,SAAA2E,GACAvF,EAAAlC,OAAA0C,SAAA,cAAAR,EAAA/C,SACAsI,EAAAzE,iBACAd,EAAA2H,mBACAR,EAAA5B,EAAAqC,cAAAC,cAAA,GAAAC,SAIA9H,EAAAnC,OAAA+C,GAAA,eAAA,SAAA2E,GACAvF,EAAAlC,OAAA0C,SAAA,eACA+E,EAAAzE,iBACAsG,EAAA7B,EAAAqC,cAAAC,cAAA,GAAAC,MACA9H,EAAAkH,UAAAC,EAAAC,GACAM,GAAA,KAIA1H,EAAAnC,OAAA+C,GAAA,cAAA,WACAZ,EAAAlC,OAAA0C,SAAA,eACAkH,GACAA,GAAA,EACA1H,EAAAsH,SAAAF,EAAAD,IAEAnH,EAAArD,IAAAgE,QAAA,wBAQArE,EAAAyD,UAAAF,WAAA,WACA,GAAAG,GAAAvD,KACA0K,EAAA,EACAC,EAAA,EACAW,GAAA,EACAL,GAAA,CACA1H,GAAApD,EAAAiD,aAAAG,EAAA7C,SAAA6C,EAAAmC,UACAnC,EAAAnC,OAAA+C,GAAA,eAAA,SAAA2E,GAEAvF,EAAAlC,OAAA0C,SAAA,eACAtE,EAAAqJ,EAAAyC,QAAAxH,SAAA,cAAAtE,EAAAqJ,EAAAyC,QAAAxH,SAAA,oBACA+E,EAAAzE,iBAEAd,EAAA/C,SACA+C,EAAA2H,mBACAR,EAAA5B,EAAAuC,MACAC,GAAA,EAGA/H,EAAAlC,OAAAmK,YAAA,EACAjI,EAAAlC,OAAAmK,YAAA,EAIAjI,EAAAlC,OAAA2D,YAAA,WAAAnD,SAAA,eAEA0B,EAAArD,IAAAgE,QAAA,sBAOAzE,EAAAC,GAAAyE,GAAA,eAAA,SAAA2E,GACAwC,IACAL,GAAA,EACAN,EAAA7B,EAAAuC,MACA9H,EAAAkH,UAAAC,EAAAC,GACApH,EAAArD,IAAAgE,QAAA,oBAIAzE,EAAAC,GAAAyE,GAAA,aAAA,SAAA2E,GACAmC,GACAA,GAAA,EACA1H,EAAAsH,SAAAF,EAAAD,GACAnH,EAAArD,IAAAgE,QAAA,kBACAzE,EAAAqJ,EAAAyC,QAAAxH,SAAA,cAAAtE,EAAAqJ,EAAAyC,QAAAxH,SAAA,mBACAR,EAAArD,IAAAgE,QAAA,mBAIAoH,IACAA,GAAA,EACA/H,EAAAlC,OAAA2D,YAAA,eAAAnD,SAAA,gBAOAhC,EAAAyD,UAAA4H,iBAAA,WACA,GAAAvB,GAAA3J,KAAA6C,MAAA,EACA6G,EAAA1J,KAAA6C,MAAA,EACAW,EAAAxD,KAAAoB,OAAAoC,MACAxD,MAAAG,EAAAgC,OACA,IAAAnC,KAAA6C,MACA6G,EAAAlG,EAAA,EACAxD,KAAA6C,QAAAW,EAAA,IACAmG,EAAA,IAIA3J,KAAAoB,OAAA4D,YAAA,+BACA0E,GAAA,GACA1J,KAAAoB,OAAAqE,GAAAiE,GAAA7H,SAAA,iBAGA7B,KAAAoB,OAAAqE,GAAAkE,GAAA9H,SAAA,kBAGAhC,EAAAyD,UAAAf,WAAA,WACA,GAAAgB,GAAAvD,IACAuD,GAAAlC,OAAA8C,GAAA,gBAAA,SAAA2E,GACAA,EAAA2C,OAAA,EACAlI,EAAA0G,gBAEA1G,EAAAyG,gBAGAlB,EAAAzE,oBAKAxE,EAAAyD,UAAAyB,aAAA,WAEA,GAAAxB,GAAAvD,KACA0L,GAAA,CACA1L,MAAAqB,OAAAH,KAAA,aAAAiD,GAAA,WAAA,WACAZ,EAAA4G,YAGA5G,EAAApD,EAAA+B,WAIAqB,EAAAlC,OAAA8C,GAAA,eAAA,SAAA2E,GAGA4C,KADAjM,EAAAqJ,EAAAyC,QAAAI,GAAA,cAAAlM,EAAAqJ,EAAAyC,QAAAI,GAAA,cAAAlM,EAAAqJ,EAAAyC,QAAAI,GAAA,mBAQApI,EAAAlC,OAAA8C,GAAA,aAAA,SAAA2E,IAEArJ,EAAAqJ,EAAAyC,QAAAI,GAAA,cAAAlM,EAAAqJ,EAAAyC,QAAAI,GAAA,cAAAlM,EAAAqJ,EAAAyC,QAAAI,GAAA,iBAAAD,KACAnI,EAAAlC,OAAA0C,SAAA,gBACAR,EAAA4G,eAUAtK,EAAAyD,UAAA6G,QAAA,SAAAyB,GAEA,GAAArI,GAAAvD,IAEAuD,GAAArD,IAAAgE,QAAA,oBASA0H,IACA5L,KAAAe,OAAA8K,IAAA,2BACApM,EAAAqM,WAAAvI,EAAAtD,GAAA,iBAIAD,KAAAE,IAAA2L,IAAA,UAGApM,EAAAgF,KAAAhF,EAAAiF,GAAAC,aAAArE,QAAA,SAAAsE,GACArB,EAAAjD,QAAAsE,IACArB,EAAAjD,QAAAsE,GAAAuF,YAIAnK,KAAAO,YAAA,EAEA0E,aAAA1B,EAAA9C,gBACAT,KAAAS,gBAAA,EACAhB,EAAAC,GAAAmM,IAAA,OACApM,EAAA,QAAAuF,YAAA,sBAEAzB,EAAAlC,QACAkC,EAAAlC,OAAA2D,YAAA,cAGAvF,EAAA,gBAAAuF,YAAA,MAEAhB,WAAA,WACAT,EAAAlC,QACAkC,EAAAlC,OAAA0K,SAGAtM,EAAA,gBAAAsM,SAEAxI,EAAArD,IAAAgE,QAAA,oBACAX,EAAApD,EAAA4B,iBAAA,KAGAtC,EAAAiF,GAAAC,aAAA,SAAA5E,GACA,MAAAC,MAAAyE,KAAA,WACA,GAAAhF,EAAAuM,KAAAhM,KAAA,gBAGA,IACAP,EAAAO,MAAAgM,KAAA,gBAAA1K,OACA,MAAA2K,GACAlD,QAAAC,MAAA,+CALAvJ,GAAAuM,KAAAhM,KAAA,eAAA,GAAAH,GAAAG,KAAAD,OAWAN,EAAAiF,GAAAC,aAAArE,YAEA4L,OAAAxM,OAAAC,UC1tCA,SAAAF,EAAAC,EAAAC,EAAAC,GAEA,YAEA,IAAAS,IACA8L,WAAA,EAEAC,cAAA,EACAC,qBAAA,SAEAC,WAAA,IACAC,gBAAA,IACAC,YAAA,EAEAC,cAAA,EACAC,oBAAA,EACAC,aAAA,EACAC,eAAA,EAEAC,iBAAA,EACAC,kBAAA,EACA5J,eAAA,GAEA6J,sBAAA,EACAC,iBAAA,EAEAC,oBAAA,EACAC,eAAA,kBAEAC,0BAAA,GAGAC,EAAA,SAAAtN,GAmBA,MAhBAE,MAAAqN,KAAA5N,EAAAK,GAAAkM,KAAA,gBAGAhM,KAAAqN,KAAAlN,EAAAV,EAAAW,UAAAC,EAAAL,KAAAqN,KAAAlN,GAEAH,KAAAE,IAAAT,EAAAK,GACAE,KAAAsN,YAAA,KACAtN,KAAAuN,gBAAA,EACAvN,KAAAwN,gBAAAxN,KAAAqN,KAAAtM,OAAAyC,QAAAxD,KAAAqN,KAAAlN,EAAAmM,WAAAtM,KAAAqN,KAAAlN,EAAAqM,aACAxM,KAAAyN,WAAAzN,KAAAqN,KAAAxK,MAGA7C,KAAA0N,KAAA,EAEA1N,KAAAsB,OAEAtB,KAGAoN,GAAA9J,UAAAhC,KAAA,WACAtB,KAAAqN,KAAAlN,EAAAgM,WAAAnM,KAAAqN,KAAAtM,OAAAyC,OAAA,IACAxD,KAAAqN,KAAAlN,EAAAuM,oBACA1M,KAAAqN,KAAAhM,OAAAQ,SAAA,iBAGA7B,KAAAqN,KAAAlN,EAAAyM,eACA5M,KAAAqN,KAAAhM,OAAAQ,SAAA,sBAGA7B,KAAAiE,QACAjE,KAAAqN,KAAAlN,EAAAiM,cACApM,KAAAqN,KAAAlN,EAAA0M,kBAAA7M,KAAAqN,KAAA3M,SAAAV,KAAAqN,KAAA3H,SACA1F,KAAA6M,kBAGA7M,KAAAqN,KAAAlN,EAAA2M,kBAAA9M,KAAAqN,KAAA3M,SAAAV,KAAAqN,KAAA3H,SACA1F,KAAA8M,mBAGA9M,KAAA2N,gBAAA,GAEA3N,KAAA2N,gBAAA,EAGA3N,KAAA4N,SACA5N,KAAA6N,kBAIAT,EAAA9J,UAAAW,MAAA,WAuCA,QAAA6J,GAAA1H,EAAA2H,EAAAlL,GACA,GACAmL,GADA7H,EAAA5C,EAAA8J,KAAAlH,QAAAC,EAAAvD,OAEAoL,EAAA,EAEA9H,GAAAK,SAAAL,EAAAO,OAAAP,EAAAQ,YACAR,EAAAK,QAEAwH,EADAzK,EAAA8J,KAAAlN,EAAA4M,qBACA,wBAAA5G,EAAAK,QAAA,GAAA,IAAAjD,EAAA8J,KAAAlN,EAAA6M,iBAAA,OAEAe,EAEA5H,EAAAO,MACAnD,EAAA8J,KAAAlN,EAAA8M,oBACAe,EAAA,gCAAAE,EAAA,OACAD,EAAA9H,EAAAO,MAAA,IAEAsH,EAAAD,EAEA5H,EAAAQ,cAEAqH,EADAzK,EAAA8J,KAAAlN,EAAAgN,yBACA,yCAAAhH,EAAAQ,YAAA,GAEAoH,GAIAC,EAAAD,EAGAI,GAAA,uBAAAF,EAAA,wCAAA1K,EAAA8J,KAAAlN,EAAAmM,WAAA,qBAAA/I,EAAA8J,KAAAlN,EAAAqM,YAAA,iBAAAwB,EAAA,aACAC,EAAA,GArEA,GAGAG,GAHA7K,EAAAvD,KACAmO,EAAA,GACAD,EAAA,GAEA7H,EAAA,sEAKA,QAAArG,KAAAqN,KAAAlN,EAAA+M,gBACA,IAAA,kBACAgB,EAAA,KACA,MACA,KAAA,mBACAA,EAAA,SACA,MACA,KAAA,kBACAA,EAAA,SAuDA,GApDA3K,EAAA8J,KAAAhM,OAAAQ,SAAA,gBAEA0B,EAAA8J,KAAAhM,OAAAH,KAAA,OAAAoE,OAAAe,GAEA9C,EAAA+J,YAAA/J,EAAA8J,KAAAhM,OAAAH,KAAA,mBACAqC,EAAAgK,gBAAAhK,EAAA+J,YAAA1L,QAEA2B,EAAA8J,KAAAlN,EAAAiM,cACA7I,EAAA8J,KAAAhM,OAAAH,KAAA,aAAAqE,KACA3D,MAAA2B,EAAAiK,gBAAA,KACAa,SAAA,aAIArO,KAAAqN,KAAAlN,EAAAiM,cACA7I,EAAA+J,YAAA/H,IAAA,SAAAhC,EAAA8J,KAAAlN,EAAAoM,gBAAA,MAqCAhJ,EAAA8J,KAAAlN,EAAAW,QACA,IAAA,GAAAsE,GAAA,EAAAA,EAAA7B,EAAA8J,KAAAlN,EAAAa,UAAAwC,OAAA4B,IACA0I,EAAAvK,EAAA8J,KAAAlN,EAAAa,UAAAoE,GAAAgB,IAAA7C,EAAA8J,KAAAlN,EAAAa,UAAAoE,GAAA2I,MAAA3I,OAGA7B,GAAA8J,KAAAtM,OAAA0D,KAAA,SAAAW,GAEA7B,EAAA8J,KAAAlN,EAAAsM,aAGAqB,EAAArO,EAAAO,MAAAsG,KAAA,SAAA7G,EAAAO,MAAAsG,KAAA,YAAA7G,EAAAO,MAAAsG,KAAA/C,EAAA8J,KAAAlN,EAAAsM,cAAArH,GAFA0I,EAAArO,EAAAO,MAAAsG,KAAA,SAAA7G,EAAAO,MAAAsG,KAAA,YAAA7G,EAAAO,MAAAkB,KAAA,OAAAoF,KAAA,OAAAlB,IAQA7B,GAAA8J,KAAAhM,OAAAH,KAAA,aAAAmF,KAAA8H,GAEAC,EAAA7K,EAAA8J,KAAAhM,OAAAH,KAAA,kBAGAkN,EAAA3J,KAAA,WACA,GAAA6J,GAAA7O,EAAAO,MACAuO,EAAAD,EAAAhI,KAAA,gBAEAiI,IACA9O,EAAA+O,QAAA,qCAAAD,EAAA,oBACAE,OAAA,QACA,SAAAzC,GACAsC,EAAApN,KAAA,OAAAoF,KAAA,MAAA0F,EAAA,GAAAzI,EAAA8J,KAAAlN,EAAA+M,qBAMAkB,EAAA3I,GAAAlC,EAAA8J,KAAAxK,OAAAhB,SAAA,UACA0B,EAAA8J,KAAAnN,IAAAiE,GAAA,sBAAA,WACAiK,EAAApJ,YAAA,UACAoJ,EAAA3I,GAAAlC,EAAA8J,KAAAxK,OAAAhB,SAAA,YAGAuM,EAAAjK,GAAA,uBAAA,WACA,GAAAuK,GAAAjP,EAAAO,KACAgE,YAAA,YAIAT,EAAAoK,iBAAApK,EAAA8J,KAAA7M,SAAA+C,EAAA8J,KAAA3H,WACAnC,EAAA8J,KAAAxK,MAAA6L,EAAA7L,QACAU,EAAA8J,KAAAxI,MAAAtB,EAAA8J,KAAAxK,OAAA,GAAA,KAEA,MAGAU,EAAA8J,KAAAnN,IAAAiE,GAAA,sBAAA,WACAZ,EAAA6I,aAAA7I,EAAA8J,KAAAxK,SAGApD,EAAAC,GAAAyE,GAAA,6CAAA,WACAH,WAAA,WACAT,EAAA6I,aAAA7I,EAAA8J,KAAAxK,OACAU,EAAAgK,gBAAAhK,EAAA+J,YAAA1L,SACA,QAKAwL,EAAA9J,UAAA+G,aAAA,SAAAsE,GAEA3O,KAAAqN,KAAAhM,OAAAH,KAAA,aAAAqE,KACAiF,UAAA,gBAAA,EAAA,mBAIA4C,EAAA9J,UAAA8I,aAAA,SAAAvJ,GACA,GAAAuL,GAAApO,KAAAqN,KAAAhM,OAAAH,KAAA,YACA,IAAAlB,KAAAqN,KAAAlN,EAAAiM,aAAA,CACA,GAAAiC,EACA,QAAArO,KAAAqN,KAAAlN,EAAAkM,sBACA,IAAA,OACAgC,EAAA,CACA,MACA,KAAA,SACAA,EAAArO,KAAAuN,gBAAA,EAAAvN,KAAAqN,KAAAlN,EAAAmM,WAAA,CACA,MACA,KAAA,QACA+B,EAAArO,KAAAuN,gBAAAvN,KAAAqN,KAAAlN,EAAAmM,WAEAtM,KAAA0N,MAAA1N,KAAAqN,KAAAlN,EAAAmM,WAAAtM,KAAAqN,KAAAlN,EAAAqM,aAAA3J,EAAA,EAAAwL,EACArO,KAAA0N,KAAA1N,KAAAwN,gBAAAxN,KAAAuN,kBACAvN,KAAA0N,KAAA1N,KAAAwN,gBAAAxN,KAAAuN,iBAGAvN,KAAA0N,KAAA,IACA1N,KAAA0N,KAAA,GAGA1N,KAAAqN,KAAA9M,YACA6N,EAAArK,SAAA,OACA/D,KAAAqN,KAAAhM,OAAAH,KAAA,aAAAqE,IAAA,sBAAAvF,KAAAqN,KAAAlN,EAAAuB,MAAA,MAGA1B,KAAAqN,KAAA3H,SACA0I,EAAAQ,SACAlB,MAAA1N,KAAA0N,KAAA,MACA1N,KAAAqN,KAAAlN,EAAAuB,QAGA1B,KAAAqN,KAAA3H,SACA0I,EAAA7I,IAAA,QAAAvF,KAAA0N,KAAA,MAIA1N,KAAAqK,aAAArK,KAAA0N,QAMAN,EAAA9J,UAAAuJ,gBAAA,WAEA,GAAAtJ,GAAAvD,KACA0K,EAAA,EACAC,EAAA,EACAW,GAAA,EACAL,GAAA,EACA4D,EAAA,CAEAtL,GAAA+J,YAAAzL,SAAA,WAEA0B,EAAA8J,KAAAhM,OAAAH,KAAA,aAAAiD,GAAA,qBAAA,SAAA2E,GACAvF,EAAAiK,gBAAAjK,EAAAgK,kBAEAzE,EAAAzE,iBACAqG,EAAA5B,EAAAuC,MACAC,GAAA,EAGA/H,EAAA8J,KAAAhM,OAAAmK,YAAA,EACAjI,EAAA8J,KAAAhM,OAAAmK,YAAA,EAGAjI,EAAAoK,gBAAA,EACApK,EAAA+J,YAAAtI,YAAA,WAAAnD,SAAA,kBAIApC,EAAAC,GAAAyE,GAAA,qBAAA,SAAA2E,GACAwC,IACAuD,EAAAtL,EAAAmK,KACAzC,GAAA,EACAN,EAAA7B,EAAAuC,MAEA9H,EAAA+J,YAAAzL,SAAA,eAEAgN,GAAAlE,EAAAD,EAEAmE,EAAAtL,EAAAiK,gBAAAjK,EAAAgK,kBACAsB,EAAAtL,EAAAiK,gBAAAjK,EAAAgK,iBAGAsB,EAAA,IACAA,EAAA,GAIAtL,EAAA8G,aAAAwE,MAKApP,EAAAC,GAAAyE,GAAA,mBAAA,WACA8G,GACAA,GAAA,EACA1H,EAAA+J,YAAAtI,YAAA,eAEAzB,EAAAmK,KAAAmB,EAEA9D,KAAAC,IAAAL,EAAAD,GAAAnH,EAAA8J,KAAAlN,EAAA+C,iBACAK,EAAAoK,gBAAA,IAIApK,EAAAoK,gBAAA,EAGArC,IACAA,GAAA,EACA/H,EAAA+J,YAAAtI,YAAA,eAAAnD,SAAA,eAMAuL,EAAA9J,UAAAwJ,iBAAA,WACA,GAAAvJ,GAAAvD,KACA0K,EAAA,EACAC,EAAA,EACAM,GAAA,EACA4D,EAAA,CAEAtL,GAAA8J,KAAAhM,OAAAH,KAAA,aAAAiD,GAAA,gBAAA,SAAA2E,GACAvF,EAAAiK,gBAAAjK,EAAAgK,kBACAzE,EAAAzE,iBACAqG,EAAA5B,EAAAqC,cAAAC,cAAA,GAAAC,MACA9H,EAAAoK,gBAAA,KAIApK,EAAA8J,KAAAhM,OAAAH,KAAA,aAAAiD,GAAA,eAAA,SAAA2E,GACAvF,EAAAiK,gBAAAjK,EAAAgK,kBACAzE,EAAAzE,iBACAsG,EAAA7B,EAAAqC,cAAAC,cAAA,GAAAC,MACAJ,GAAA,EAEA1H,EAAA+J,YAAAzL,SAAA,eAEAgN,EAAAtL,EAAAmK,KAEAmB,GAAAlE,EAAAD,EAEAmE,EAAAtL,EAAAiK,gBAAAjK,EAAAgK,kBACAsB,EAAAtL,EAAAiK,gBAAAjK,EAAAgK,iBAGAsB,EAAA,IACAA,EAAA,GAIAtL,EAAA8G,aAAAwE,MAKAtL,EAAA8J,KAAAhM,OAAAH,KAAA,aAAAiD,GAAA,cAAA,WACAZ,EAAAiK,gBAAAjK,EAAAgK,iBAEAtC,GACAA,GAAA,EACA1H,EAAA+J,YAAAtI,YAAA,eACA+F,KAAAC,IAAAL,EAAAD,GAAAnH,EAAA8J,KAAAlN,EAAA+C,iBACAK,EAAAoK,gBAAA,GAGApK,EAAAmK,KAAAmB,GAKAtL,EAAAoK,gBAAA,KAMAP,EAAA9J,UAAAsK,OAAA,WACA,GAAArK,GAAAvD,IACAuD,GAAA8J,KAAAlN,EAAAwM,cACApJ,EAAA8J,KAAAhM,OAAAQ,SAAA,iBACA0B,EAAA+J,YAAAhI,OAAA,iDACA/B,EAAA8J,KAAAhM,OAAAH,KAAA,oBAAAiD,GAAA,WAAA,WACAZ,EAAA8J,KAAAhM,OAAAyN,YAAA,qBAKA1B,EAAA9J,UAAAuK,cAAA,WACA,GAAAtK,GAAAvD,IACAP,GAAAC,GAAAyE,GAAA,mBAAA,SAAA2E,GACA,KAAAA,EAAAoB,SACApB,EAAAzE,iBACAd,EAAA8J,KAAAhM,OAAAQ,SAAA,kBACA,KAAAiH,EAAAoB,UACApB,EAAAzE,iBACAd,EAAA8J,KAAAhM,OAAA2D,YAAA,qBAKAoI,EAAA9J,UAAA6G,QAAA,WACAnK,KAAAqN,KAAAlN,EAAAgM,WAAAnM,KAAAqN,KAAAtM,OAAAyC,OAAA,IACA/D,EAAAC,GAAAmM,IAAA,+DACA7L,KAAAsN,YAAAvB,SACA/L,KAAAqN,KAAAhM,OAAA2D,YAAA,kBAIAvF,EAAAiF,GAAAC,aAAArE,QAAA8M,UAAAA,GAEAlB,OAAAxM,OAAAC,UC/bA,SAAAF,EAAAC,EAAAC,EAAAC,GAEA,YAEA,IAAAS,IACA0O,YAAA,GAGAC,EAAA,SAAAlP,GAYA,MATAE,MAAAqN,KAAA5N,EAAAK,GAAAkM,KAAA,gBAEAhM,KAAAE,IAAAT,EAAAK,GAGAE,KAAAqN,KAAAlN,EAAAV,EAAAW,UAAAC,EAAAL,KAAAqN,KAAAlN,GAEAH,KAAAsB,OAEAtB,KAGAgP,GAAA1L,UAAAhC,KAAA,WACA,GAAAyN,GAAA,EACA,IAAA/O,KAAAqN,KAAAlN,EAAA4O,WAAA,CAGA,KAAApP,EAAAsP,mBAAAtP,EAAAuP,yBACAvP,EAAAwP,sBAAAxP,EAAAyP,qBACA,MAEAL,GAAA,8CACA/O,KAAAqN,KAAAhM,OAAAH,KAAA,eAAAoE,OAAAyJ,GACA/O,KAAA+O,eAKAC,EAAA1L,UAAA+L,iBAAA,WACA,GAAApP,GAAAN,EAAAgB,eACAV,GAAAqP,kBACArP,EAAAqP,oBACArP,EAAAsP,oBACAtP,EAAAsP,sBACAtP,EAAAuP,qBACAvP,EAAAuP,uBACAvP,EAAAwP,yBACAxP,EAAAwP,2BAIAT,EAAA1L,UAAAoM,eAAA,WACA/P,EAAA+P,eACA/P,EAAA+P,iBACA/P,EAAAgQ,iBACAhQ,EAAAgQ,mBACAhQ,EAAAiQ,oBACAjQ,EAAAiQ,sBACAjQ,EAAAkQ,sBACAlQ,EAAAkQ,wBAKAb,EAAA1L,UAAAyL,WAAA,WACA,GAAAxL,GAAAvD,IAEAP,GAAAE,GAAAwE,GAAA,6FAAA,WACAZ,EAAA8J,KAAAhM,OAAAyN,YAAA,sBAGA9O,KAAAqN,KAAAhM,OAAAH,KAAA,kBAAAiD,GAAA,WAAA,WACAxE,EAAAmQ,mBACAnQ,EAAAoQ,sBAAApQ,EAAAqQ,yBAAArQ,EAAAsQ,oBAGA1M,EAAAmM,iBAFAnM,EAAA8L,sBAQAL,EAAA1L,UAAA6G,QAAA,WAGAnK,KAAA0P,iBAEAjQ,EAAAE,GAAAkM,IAAA,+FAGApM,EAAAiF,GAAAC,aAAArE,QAAA4P,WAAAlB,GAEA9C,OAAAxM,OAAAC,UC7FA,SAAAF,EAAAC,EAAAC,EAAAC,GAEA,YAEA,IAAAS,IACA8P,cAAA,QACAC,qBAAA,EACAC,mBAAA,EACAC,yBAAA,EACAC,SAAA,GAGAC,EAAA,SAAA1Q,GAUA,MARAE,MAAAqN,KAAA5N,EAAAK,GAAAkM,KAAA,gBAEAhM,KAAAE,IAAAT,EAAAK,GACAE,KAAAqN,KAAAlN,EAAAV,EAAAW,UAAAC,EAAAL,KAAAqN,KAAAlN,GACAH,KAAAyQ,aAAA,EAEAzQ,KAAAsB,OAEAtB,KAGAwQ,GAAAlN,UAAAhC,KAAA,WACA,GAAAiC,GAAAvD,IAGAuD,GAAA8J,KAAAnN,IAAAiE,GAAA,iBAAA,SAAAC,EAAAvB,EAAAuD,EAAAC,GAEA,GADA9C,EAAA8J,KAAAjM,OAAAqE,GAAA5C,GAAA3B,KAAA,aAAAoE,OAAA/B,EAAAmN,UAAAtK,EAAA,aAAA,EAAAvD,EAAAwD,IACAA,EACA,GAAA9C,EAAA8J,KAAAlN,EAAAoQ,QACA,IACAA,QAAAhN,EAAA8J,KAAAjM,OAAAqE,GAAA5C,GAAA3B,KAAA,aAAAyP,IAAA,MAAA,WACApN,EAAAkN,aACAzQ,KAAA4Q,SAGA,MAAA9H,GACAC,QAAAC,MAAA,2CAGAzF,GAAA8J,KAAAjM,OAAAqE,GAAA5C,GAAA3B,KAAA,aAAAyP,IAAA,GAAAC,SAMArN,EAAA8J,KAAAnN,IAAAiE,GAAA,0BAAA,SAAAC,EAAAvB,GACAU,EAAA8J,KAAAjM,OAAAqE,GAAA5C,GAAA3B,KAAA,kBAAAqE,IAAA,YAAAhC,EAAA8J,KAAAlN,EAAAgQ,eACA5M,EAAAkN,aAAA,GAGA,IAAAI,GAAA,SAAA3Q,GAEA,GAAAA,EAAAgB,KAAA,cAAA6C,SAAA,iBAGA,GAAA7D,EAAA6D,SAAA,gBAsDA,CAEA,GAAA+M,GAAA5Q,EAAAgB,KAAA,eAAAyP,IAAA,GACAI,EAAA7Q,EAAAgB,KAAA,aAAAyP,IAAA,GACAK,EAAA9Q,EAAAgB,KAAA,mBAAAyP,IAAA,GACAM,EAAA/Q,EAAAgB,KAAA,aAAAyP,IAAA,EACA,IAAAG,EACAA,EAAAI,cAAAC,YAAA,mDAAA,SACA,IAAAJ,EACA,IACAK,GAAAL,GAAAM,IAAA,QACA,MAAAvI,GACAC,QAAAC,MAAA,kDAEA,IAAAgI,EACAA,EAAAE,cAAAC,YAAA,OAAA,SAEA,IAAAF,EACA,GAAA1N,EAAA8J,KAAAlN,EAAAoQ,QACA,IACAA,QAAAU,GAAAL,OACA,MAAA9H,GACAC,QAAAC,MAAA,2CAGAiI,GAAAL,MAIA1Q,GAAA2B,SAAA,wBAnFA,CAEA3B,EAAA2B,SAAA,gCAEA,IAAAwF,GACAI,EACA6J,EAAA,SAAAjK,EAAAI,GAIA,GAFAvH,EAAAgB,KAAA,aAAAoE,OAAA/B,EAAAmN,UAAArJ,EAAA,IAAA,EAAA9D,EAAA8J,KAAAxK,MAAA4E,IAEAA,EACA,GAAAlE,EAAA8J,KAAAlN,EAAAoQ,QACA,IACAA,QAAAhN,EAAA8J,KAAAjM,OAAAqE,GAAAlC,EAAA8J,KAAAxK,OAAA3B,KAAA,aAAAyP,IAAA,MAAA,WACA3Q,KAAA4Q,SAEA,MAAA9H,GACAC,QAAAC,MAAA,2CAGAzF,GAAA8J,KAAAjM,OAAAqE,GAAAlC,EAAA8J,KAAAxK,OAAA3B,KAAA,aAAAyP,IAAA,GAAAC,OAMArN,GAAA8J,KAAAlN,EAAAW,SAEAuG,EAAA9D,EAAA8J,KAAAlN,EAAAa,UAAAuC,EAAA8J,KAAAxK,OAAAuD,IACAqB,EAAAlE,EAAA8J,KAAAlN,EAAAa,UAAAuC,EAAA8J,KAAAxK,OAAAwD,KAEAiL,EAAAjK,EAAAI,KAIAJ,EAAA9D,EAAA8J,KAAAtM,OAAA0E,GAAAlC,EAAA8J,KAAAxK,OAAAyD,KAAA,SAAA/C,EAAA8J,KAAAtM,OAAA0E,GAAAlC,EAAA8J,KAAAxK,OAAAyD,KAAA,YACAmB,EAAAlE,EAAA8J,KAAAtM,OAAA0E,GAAAlC,EAAA8J,KAAAxK,OAAAyD,KAAA,aAEAgL,EAAAjK,EAAAI,GAIA,IAAA8J,GAAArR,EAAAgB,KAAA,aACAhB,GAAAgB,KAAA,aAAAoE,OAAAiM,GAIArR,EAAAgB,KAAA,oBAAA6C,SAAA,cACA7D,EAAA8E,YAAA,eACA9E,EAAAgB,KAAA,oBAAAiD,GAAA,mBAAA,WACAjE,EAAA2B,SAAA,mBAuCA0B,GAAA8J,KAAA3H,SAAAnC,EAAA8J,KAAAtM,OAAAyC,OAAA,IAAAD,EAAA8J,KAAAlN,EAAAgD,aAAAI,EAAA8J,KAAA3M,SAAA6C,EAAA8J,KAAAlN,EAAAiD,aAAAG,EAAA8J,KAAA3M,SACA6C,EAAA8J,KAAAnN,IAAAiE,GAAA,qBAAA,WACA,GAAAjE,GAAAqD,EAAA8J,KAAAjM,OAAAqE,GAAAlC,EAAA8J,KAAAxK,MACAgO,GAAA3Q,KAKAqD,EAAA8J,KAAAjM,OAAA+C,GAAA,WAAA,WACA0M,EAAApR,EAAAO,SAIAuD,EAAA8J,KAAAnN,IAAAiE,GAAA,sBAAA,SAAAC,EAAAoN,GAEA,GAAAC,GAAAlO,EAAA8J,KAAAjM,OAAAqE,GAAA+L,GACAV,EAAAW,EAAAvQ,KAAA,eAAAyP,IAAA,GACAI,EAAAU,EAAAvQ,KAAA,aAAAyP,IAAA,GACAK,EAAAS,EAAAvQ,KAAA,mBAAAyP,IAAA,GACAM,EAAAQ,EAAAvQ,KAAA,aAAAyP,IAAA,EACA,IAAAG,EACAA,EAAAI,cAAAC,YAAA,oDAAA,SACA,IAAAJ,EACA,IACAK,GAAAL,GAAAM,IAAA,SACA,MAAAvI,GACAC,QAAAC,MAAA,kDAEA,IAAAgI,EACAA,EAAAE,cAAAC,YAAA,QAAA,SAEA,IAAAF,EACA,GAAA1N,EAAA8J,KAAAlN,EAAAoQ,QACA,IACAA,QAAAU,GAAAS,QACA,MAAA5I,GACAC,QAAAC,MAAA,2CAGAiI,GAAAS,UAQAnO,EAAA8J,KAAAnN,IAAAiE,GAAA,qBAAA,SAAAC,EAAAoN,GACAjO,EAAA8J,KAAAjM,OAAAqE,GAAA+L,GAAAxM,YAAA,uBAIAwL,EAAAlN,UAAAoN,UAAA,SAAAtK,EAAAvE,EAAA8P,EAAA9O,EAAAwD,GACA,GAAAuL,GAAA,GACAC,EAAA,EACAC,EAAA,GACA3L,EAAAnG,KAAAqN,KAAAlH,QAAAC,EAAAvD,MAWA,IARA8O,IAEAE,EADA7R,KAAAyQ,YACA,EAEA,GAIAtK,EAAAK,QAEAsL,EAAA,0BAAAD,EAAA,iBACA7R,KAAAqN,KAAAlN,EAAAiQ,sBACA0B,EAAAA,EAAA,IAAArS,EAAAsS,MAAA/R,KAAAqN,KAAAlN,EAAAiQ,sBAGAwB,EAAA,6CAAA/P,EAAA,2DAAAsE,EAAAK,QAAA,GAAAsL,EAAA,kDAEA,IAAA3L,EAAAO,MAEAoL,EAAA,aAAAD,EAAA,SACA7R,KAAAqN,KAAAlN,EAAAkQ,oBACAyB,EAAAA,EAAA,IAAArS,EAAAsS,MAAA/R,KAAAqN,KAAAlN,EAAAkQ,oBAGAuB,EAAA,2CAAA/P,EAAA,kEAAAsE,EAAAO,MAAA,GAAAoL,EAAA,2FAEA,IAAA3L,EAAAQ,YAEAmL,EAAA,0BAAAD,EAAA,mBACA7R,KAAAqN,KAAAlN,EAAAmQ,0BACAwB,EAAAA,EAAA,IAAArS,EAAAsS,MAAA/R,KAAAqN,KAAAlN,EAAAmQ,0BAGAsB,EAAA,iDAAA/P,EAAA,qEAAAsE,EAAAQ,YAAA,GAAAmL,EAAA,kDAEA,IAAA3L,EAAAI,MAAA,CACA,GAAAO,GAAAT,EAAAU,UAAA,EAAA,EACA,OAAAD,GAAA,MAAAA,IACAT,EAAA5G,EAAA4G,GAAAA,QAGAuL,EAAAvL,EAGA,MAAAuL,IAGApB,EAAAlN,UAAA6G,QAAA,WACAnK,KAAAyQ,aAAA,GAGAhR,EAAAiF,GAAAC,aAAArE,QAAAsR,MAAApB,GAEAtE,OAAAxM,OAAAC","file":"ecom-details-view-plugins.min.js","sourcesContent":["/*! lightgallery - v1.2.4 - 2015-09-26\r\n* http://sachinchoolur.github.io/lightGallery/\r\n* Copyright (c) 2015 Sachin N; Licensed Apache 2.0 */\r\n(function($, window, document, undefined) {\r\n\r\n 'use strict';\r\n\r\n var defaults = {\r\n\r\n mode: 'lg-slide',\r\n\r\n // Ex : 'ease'\r\n cssEasing: 'cubic-bezier(0.25, 0, 0.25, 1)',\r\n\r\n //'for jquery animation'\r\n easing: 'linear',\r\n speed: 600,\r\n height: '100%',\r\n width: '100%',\r\n addClass: '',\r\n startClass: 'lg-start-zoom',\r\n backdropDuration: 150,\r\n hideBarsDelay: 6000,\r\n\r\n useLeft: false,\r\n\r\n closable: true,\r\n loop: true,\r\n escKey: true,\r\n keyPress: true,\r\n controls: true,\r\n slideEndAnimatoin: true,\r\n hideControlOnEnd: false,\r\n mousewheel: true,\r\n\r\n // .lg-item || '.lg-sub-html'\r\n appendSubHtmlTo: '.lg-sub-html',\r\n\r\n /**\r\n * @desc number of preload slides\r\n * will exicute only after the current slide is fully loaded.\r\n *\r\n * @ex you clicked on 4th image and if preload = 1 then 3rd slide and 5th\r\n * slide will be loaded in the background after the 4th slide is fully loaded..\r\n * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.. ... ...\r\n *\r\n */\r\n preload: 1,\r\n showAfterLoad: true,\r\n selector: '',\r\n nextHtml: '',\r\n prevHtml: '',\r\n\r\n // 0, 1\r\n index: false,\r\n\r\n iframeMaxWidth: '100%',\r\n\r\n download: true,\r\n counter: true,\r\n appendCounterTo: '.lg-toolbar',\r\n\r\n swipeThreshold: 50,\r\n enableSwipe: true,\r\n enableDrag: true,\r\n\r\n dynamic: false,\r\n dynamicEl: [],\r\n galleryId: 1\r\n };\r\n\r\n function Plugin(element, options) {\r\n\r\n // Current lightGallery element\r\n this.el = element;\r\n\r\n // Current jquery element\r\n this.$el = $(element);\r\n\r\n // lightGallery settings\r\n this.s = $.extend({}, defaults, options);\r\n\r\n // lightGallery modules\r\n this.modules = {};\r\n\r\n // false when lightgallery complete first slide;\r\n this.lGalleryOn = false;\r\n\r\n this.lgBusy = false;\r\n\r\n // Timeout function for hiding controls;\r\n this.hideBartimeout = false;\r\n\r\n // To determine browser supports for touch events;\r\n this.isTouch = ('ontouchstart' in document.documentElement);\r\n\r\n // DIsable hideControlOnEnd if sildeEndAnimation is true\r\n if (this.s.slideEndAnimatoin) {\r\n this.s.hideControlOnEnd = false;\r\n }\r\n\r\n // Gallery items\r\n if (this.s.dynamic) {\r\n this.$items = this.s.dynamicEl;\r\n } else {\r\n if (this.s.selector === 'this') {\r\n this.$items = this.$el;\r\n } else if (this.s.selector !== '') {\r\n this.$items = this.$el.find($(this.s.selector));\r\n } else {\r\n this.$items = this.$el.children();\r\n }\r\n }\r\n\r\n // .lg-item\r\n this.$slide = '';\r\n\r\n // .lg-outer\r\n this.$outer = '';\r\n\r\n this.init();\r\n\r\n return this;\r\n }\r\n\r\n Plugin.prototype.init = function() {\r\n\r\n var _this = this;\r\n\r\n // s.preload should not be more than $item.length\r\n if (_this.s.preload > _this.$items.length) {\r\n _this.s.preload = _this.$items.length;\r\n }\r\n\r\n // if dynamic option is enabled execute immediately\r\n var _hash = window.location.hash;\r\n if (_hash.indexOf('lg=' + this.s.galleryId) > 0) {\r\n\r\n _this.index = parseInt(_hash.split('&slide=')[1], 10);\r\n\r\n $('body').addClass('lg-from-hash');\r\n if (!$('body').hasClass('lg-on')) {\r\n setTimeout(function() {\r\n _this.build(_this.index);\r\n $('body').addClass('lg-on');\r\n });\r\n }\r\n }\r\n\r\n if (_this.s.dynamic) {\r\n\r\n _this.$el.trigger('onBeforeOpen.lg');\r\n\r\n _this.index = _this.s.index || 0;\r\n\r\n // prevent accidental double execution\r\n if (!$('body').hasClass('lg-on')) {\r\n setTimeout(function() {\r\n _this.build(_this.index);\r\n $('body').addClass('lg-on');\r\n });\r\n }\r\n } else {\r\n\r\n // Using different namespace for click because click event should not unbind if selector is same object('this')\r\n _this.$items.on('click.lgcustom', function(event) {\r\n\r\n // For IE8\r\n try {\r\n event.preventDefault();\r\n event.preventDefault();\r\n } catch (er) {\r\n event.returnValue = false;\r\n }\r\n\r\n _this.$el.trigger('onBeforeOpen.lg');\r\n\r\n _this.index = _this.s.index || _this.$items.index(this);\r\n\r\n // prevent accidental double execution\r\n if (!$('body').hasClass('lg-on')) {\r\n _this.build(_this.index);\r\n $('body').addClass('lg-on');\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n Plugin.prototype.build = function(index) {\r\n\r\n var _this = this;\r\n\r\n _this.structure();\r\n\r\n // module constructor\r\n $.each($.fn.lightGallery.modules, function(key) {\r\n _this.modules[key] = new $.fn.lightGallery.modules[key](_this.el);\r\n });\r\n\r\n // initiate slide function\r\n _this.slide(index, false, false);\r\n\r\n if (_this.s.keyPress) {\r\n _this.keyPress();\r\n }\r\n\r\n if (_this.$items.length > 1) {\r\n\r\n _this.arrow();\r\n\r\n setTimeout(function() {\r\n _this.enableDrag();\r\n _this.enableSwipe();\r\n }, 50);\r\n\r\n if (_this.s.mousewheel) {\r\n _this.mousewheel();\r\n }\r\n }\r\n\r\n _this.counter();\r\n\r\n _this.closeGallery();\r\n\r\n _this.$el.trigger('onAfterOpen.lg');\r\n\r\n // Hide controllers if mouse doesn't move for some period\r\n _this.$outer.on('mousemove.lg click.lg touchstart.lg', function() {\r\n\r\n _this.$outer.removeClass('lg-hide-items');\r\n\r\n clearTimeout(_this.hideBartimeout);\r\n\r\n // Timeout will be cleared on each slide movement also\r\n _this.hideBartimeout = setTimeout(function() {\r\n _this.$outer.addClass('lg-hide-items');\r\n }, _this.s.hideBarsDelay);\r\n\r\n });\r\n\r\n };\r\n\r\n Plugin.prototype.structure = function() {\r\n var list = '';\r\n var controls = '';\r\n var i = 0;\r\n var subHtmlCont = '';\r\n var template;\r\n var _this = this;\r\n\r\n $('body').append('
');\r\n $('.lg-backdrop').css('transition-duration', this.s.backdropDuration + 'ms');\r\n\r\n // Create gallery items\r\n for (i = 0; i < this.$items.length; i++) {\r\n list += '
';\r\n }\r\n\r\n // Create controlls\r\n if (this.s.controls && this.$items.length > 1) {\r\n controls = '
' +\r\n '
' + this.s.prevHtml + '
' +\r\n '
' + this.s.nextHtml + '
' +\r\n '
';\r\n }\r\n\r\n if (this.s.appendSubHtmlTo === '.lg-sub-html') {\r\n subHtmlCont = '
';\r\n }\r\n\r\n template = '
' +\r\n '
' +\r\n '
' + list + '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n controls +\r\n subHtmlCont +\r\n '
' +\r\n '
';\r\n\r\n $('body').append(template);\r\n this.$outer = $('.lg-outer');\r\n this.$slide = this.$outer.find('.lg-item');\r\n\r\n if (this.s.useLeft) {\r\n this.$outer.addClass('lg-use-left');\r\n } else {\r\n this.$outer.addClass('lg-use-css3');\r\n }\r\n\r\n // For fixed height gallery\r\n _this.setTop();\r\n $(window).on('resize.lg orientationchange.lg', function() {\r\n setTimeout(function() {\r\n _this.setTop();\r\n }, 100);\r\n });\r\n\r\n // add class lg-current to remove initial transition\r\n this.$slide.eq(this.index).addClass('lg-current');\r\n\r\n // add Class for css support and transition mode\r\n if (this.doCss()) {\r\n this.$outer.addClass('lg-css3');\r\n } else {\r\n this.$outer.addClass('lg-css');\r\n }\r\n\r\n this.$outer.addClass(this.s.mode);\r\n\r\n if (this.s.enableDrag && this.$items.length > 1) {\r\n this.$outer.addClass('lg-grab');\r\n }\r\n\r\n if (this.s.showAfterLoad) {\r\n this.$outer.addClass('lg-show-after-load');\r\n }\r\n\r\n if (this.doCss()) {\r\n var $inner = this.$outer.find('.lg-inner');\r\n $inner.css('transition-timing-function', this.s.cssEasing);\r\n $inner.css('transition-duration', this.s.speed + 'ms');\r\n }\r\n\r\n $('.lg-backdrop').addClass('in');\r\n\r\n setTimeout(function() {\r\n _this.$outer.addClass('lg-visible');\r\n }, this.s.backdropDuration);\r\n\r\n if (this.s.download) {\r\n this.$outer.find('.lg-toolbar').append('');\r\n }\r\n\r\n };\r\n\r\n // For fixed height gallery\r\n Plugin.prototype.setTop = function() {\r\n if (this.s.height !== '100%') {\r\n var wH = $(window).height();\r\n var top = (wH - parseInt(this.s.height, 10)) / 2;\r\n var $lGallery = this.$outer.find('.lg');\r\n if (wH >= parseInt(this.s.height, 10)) {\r\n $lGallery.css('top', top + 'px');\r\n } else {\r\n $lGallery.css('top', '0px');\r\n }\r\n }\r\n };\r\n\r\n // Find css3 support\r\n Plugin.prototype.doCss = function() {\r\n // check for css animation support\r\n var support = function() {\r\n var transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition'];\r\n var root = document.documentElement;\r\n var i = 0;\r\n for (i = 0; i < transition.length; i++) {\r\n if (transition[i] in root.style) {\r\n return true;\r\n }\r\n }\r\n };\r\n\r\n if (support()) {\r\n return true;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n /**\r\n * @desc Check the given src is video\r\n * @param {String} src\r\n * @return {Object} video type\r\n * Ex:{ youtube : [\"//www.youtube.com/watch?v=c0asJgSyxcY\", \"c0asJgSyxcY\"] }\r\n */\r\n Plugin.prototype.isVideo = function(src, index) {\r\n\r\n var html;\r\n if (this.s.dynamic) {\r\n html = this.s.dynamicEl[index].html;\r\n } else {\r\n html = this.$items.eq(index).attr('data-html');\r\n }\r\n\r\n if (!src && html) {\r\n return {\r\n html5: true\r\n };\r\n }\r\n\r\n var youtube = src.match(/\\/\\/(?:www\\.)?youtu(?:\\.be|be\\.com)\\/(?:watch\\?v=|embed\\/)?([a-z0-9\\-\\_\\%]+)/i);\r\n var vimeo = src.match(/\\/\\/(?:www\\.)?vimeo.com\\/([0-9a-z\\-_]+)/i);\r\n var dailymotion = src.match(/\\/\\/(?:www\\.)?dai.ly\\/([0-9a-z\\-_]+)/i);\r\n\r\n if (youtube) {\r\n return {\r\n youtube: youtube\r\n };\r\n } else if (vimeo) {\r\n return {\r\n vimeo: vimeo\r\n };\r\n } else if (dailymotion) {\r\n return {\r\n dailymotion: dailymotion\r\n };\r\n }\r\n };\r\n\r\n /**\r\n * @desc Create image counter\r\n * Ex: 1/10\r\n */\r\n Plugin.prototype.counter = function() {\r\n if (this.s.counter) {\r\n $(this.s.appendCounterTo).append('
' + (parseInt(this.index, 10) + 1) + ' / ' + this.$items.length + '
');\r\n }\r\n };\r\n\r\n /**\r\n * @desc add sub-html into the slide\r\n * @param {Number} index - index of the slide\r\n */\r\n Plugin.prototype.addHtml = function(index) {\r\n var subHtml = null;\r\n if (this.s.dynamic) {\r\n subHtml = this.s.dynamicEl[index].subHtml;\r\n } else {\r\n subHtml = this.$items.eq(index).attr('data-sub-html');\r\n }\r\n\r\n if (typeof subHtml !== 'undefined' && subHtml !== null) {\r\n\r\n // get first letter of subhtml\r\n // if first letter starts with . or # get the html form the jQuery object\r\n var fL = subHtml.substring(0, 1);\r\n if (fL === '.' || fL === '#') {\r\n subHtml = $(subHtml).html();\r\n } else {\r\n subHtml = subHtml;\r\n }\r\n } else {\r\n subHtml = '';\r\n }\r\n\r\n if (this.s.appendSubHtmlTo === '.lg-sub-html') {\r\n this.$outer.find(this.s.appendSubHtmlTo).html(subHtml);\r\n\r\n // Add lg-empty-html class if title doesn't exist\r\n if (subHtml === '') {\r\n this.$outer.find(this.s.appendSubHtmlTo).addClass('lg-empty-html');\r\n } else {\r\n this.$outer.find(this.s.appendSubHtmlTo).removeClass('lg-empty-html');\r\n }\r\n } else {\r\n this.$slide.eq(index).append(subHtml);\r\n }\r\n\r\n this.$el.trigger('onAfterAppendSubHtml.lg', [index]);\r\n };\r\n\r\n /**\r\n * @desc Preload slides\r\n * @param {Number} index - index of the slide\r\n */\r\n Plugin.prototype.preload = function(index) {\r\n var i = 1;\r\n var j = 1;\r\n for (i = 1; i <= this.s.preload; i++) {\r\n if (i >= this.$items.length - index) {\r\n break;\r\n }\r\n\r\n this.loadContent(index + i, false, 0);\r\n }\r\n\r\n for (j = 1; j <= this.s.preload; j++) {\r\n if (index - j < 0) {\r\n break;\r\n }\r\n\r\n this.loadContent(index - j, false, 0);\r\n }\r\n };\r\n\r\n /**\r\n * @desc Load slide content into slide.\r\n * @param {Number} index - index of the slide.\r\n * @param {Boolean} rec - if true call loadcontent() function again.\r\n * @param {Boolean} delay - delay for adding complete class. it is 0 except first time.\r\n */\r\n Plugin.prototype.loadContent = function(index, rec, delay) {\r\n\r\n var _this = this;\r\n var _hasPoster = false;\r\n var _$img;\r\n var _src;\r\n var _poster;\r\n var _srcset;\r\n var _sizes;\r\n var _html;\r\n var getResponsiveSrc = function(srcItms) {\r\n var rsWidth = [];\r\n var rsSrc = [];\r\n for (var i = 0; i < srcItms.length; i++) {\r\n var __src = srcItms[i].split(' ');\r\n\r\n // Manage empty space\r\n if (__src[0] === '') {\r\n __src.splice(0, 1);\r\n }\r\n\r\n rsSrc.push(__src[0]);\r\n rsWidth.push(__src[1]);\r\n }\r\n\r\n var wWidth = $(window).width();\r\n for (var j = 0; j < rsWidth.length; j++) {\r\n if (parseInt(rsWidth[j], 10) > wWidth) {\r\n _src = rsSrc[j];\r\n break;\r\n }\r\n }\r\n };\r\n\r\n if (_this.s.dynamic) {\r\n\r\n if (_this.s.dynamicEl[index].poster) {\r\n _hasPoster = true;\r\n _poster = _this.s.dynamicEl[index].poster;\r\n }\r\n\r\n _html = _this.s.dynamicEl[index].html;\r\n _src = _this.s.dynamicEl[index].src;\r\n\r\n if (_this.s.dynamicEl[index].responsive) {\r\n var srcDyItms = _this.s.dynamicEl[index].responsive.split(',');\r\n getResponsiveSrc(srcDyItms);\r\n }\r\n\r\n _srcset = _this.s.dynamicEl[index].srcset;\r\n _sizes = _this.s.dynamicEl[index].sizes;\r\n\r\n } else {\r\n\r\n if (_this.$items.eq(index).attr('data-poster')) {\r\n _hasPoster = true;\r\n _poster = _this.$items.eq(index).attr('data-poster');\r\n }\r\n\r\n _html = _this.$items.eq(index).attr('data-html');\r\n _src = _this.$items.eq(index).attr('href') || _this.$items.eq(index).attr('data-src');\r\n\r\n if (_this.$items.eq(index).attr('data-responsive')) {\r\n var srcItms = _this.$items.eq(index).attr('data-responsive').split(',');\r\n getResponsiveSrc(srcItms);\r\n }\r\n\r\n _srcset = _this.$items.eq(index).attr('data-srcset');\r\n _sizes = _this.$items.eq(index).attr('data-sizes');\r\n\r\n }\r\n\r\n //if (_src || _srcset || _sizes || _poster) {\r\n\r\n var iframe = false;\r\n if (_this.s.dynamic) {\r\n if (_this.s.dynamicEl[index].iframe) {\r\n iframe = true;\r\n }\r\n } else {\r\n if (_this.$items.eq(index).attr('data-iframe') === 'true') {\r\n iframe = true;\r\n }\r\n }\r\n\r\n var _isVideo = _this.isVideo(_src, index);\r\n if (!_this.$slide.eq(index).hasClass('lg-loaded')) {\r\n if (iframe) {\r\n _this.$slide.eq(index).prepend('
');\r\n } else if (_hasPoster) {\r\n var videoClass = '';\r\n if (_isVideo && _isVideo.youtube) {\r\n videoClass = 'lg-has-youtube';\r\n } else if (_isVideo && _isVideo.vimeo) {\r\n videoClass = 'lg-has-vimeo';\r\n } else {\r\n videoClass = 'lg-has-html5';\r\n }\r\n\r\n _this.$slide.eq(index).prepend('
');\r\n\r\n } else if (_isVideo) {\r\n _this.$slide.eq(index).prepend('
');\r\n _this.$el.trigger('hasVideo.lg', [index, _src, _html]);\r\n } else {\r\n _this.$slide.eq(index).prepend('
');\r\n }\r\n\r\n _this.$el.trigger('onAferAppendSlide.lg', [index]);\r\n\r\n _$img = _this.$slide.eq(index).find('.lg-object');\r\n if (_sizes) {\r\n _$img.attr('sizes', _sizes);\r\n }\r\n\r\n if (_srcset) {\r\n _$img.attr('srcset', _srcset);\r\n try {\r\n picturefill({\r\n elements: [_$img[0]]\r\n });\r\n } catch (e) {\r\n console.error('Make sure you have included Picturefill version 2');\r\n }\r\n }\r\n\r\n if (this.s.appendSubHtmlTo !== '.lg-sub-html') {\r\n _this.addHtml(index);\r\n }\r\n\r\n _this.$slide.eq(index).addClass('lg-loaded');\r\n }\r\n\r\n _this.$slide.eq(index).find('.lg-object').on('load.lg error.lg', function() {\r\n\r\n // For first time add some delay for displaying the start animation.\r\n var _speed = 0;\r\n\r\n // Do not change the delay value because it is required for zoom plugin.\r\n // If gallery opened from direct url (hash) speed value should be 0\r\n if (delay && !$('body').hasClass('lg-from-hash')) {\r\n _speed = delay;\r\n }\r\n\r\n setTimeout(function() {\r\n _this.$slide.eq(index).addClass('lg-complete');\r\n _this.$el.trigger('onSlideItemLoad.lg', [index, delay || 0]);\r\n }, _speed);\r\n\r\n });\r\n\r\n // @todo check load state for html5 videos\r\n if (_isVideo && _isVideo.html5 && !_hasPoster) {\r\n _this.$slide.eq(index).addClass('lg-complete');\r\n }\r\n\r\n if (rec === true) {\r\n if (!_this.$slide.eq(index).hasClass('lg-complete')) {\r\n _this.$slide.eq(index).find('.lg-object').on('load.lg error.lg', function() {\r\n _this.preload(index);\r\n });\r\n } else {\r\n _this.preload(index);\r\n }\r\n }\r\n\r\n //}\r\n };\r\n\r\n /**\r\n * @desc slide function for lightgallery\r\n ** Slide() gets call on start\r\n ** ** Set lg.on true once slide() function gets called.\r\n ** Call loadContent() on slide() function inside setTimeout\r\n ** ** On first slide we do not want any animation like slide of fade\r\n ** ** So on first slide( if lg.on if false that is first slide) loadContent() should start loading immediately\r\n ** ** Else loadContent() should wait for the transition to complete.\r\n ** ** So set timeout s.speed + 50\r\n <=> ** loadContent() will load slide content in to the particular slide\r\n ** ** It has recursion (rec) parameter. if rec === true loadContent() will call preload() function.\r\n ** ** preload will execute only when the previous slide is fully loaded (images iframe)\r\n ** ** avoid simultaneous image load\r\n <=> ** Preload() will check for s.preload value and call loadContent() again accoring to preload value\r\n ** loadContent() <====> Preload();\r\n\r\n * @param {Number} index - index of the slide\r\n * @param {Boolean} fromTouch - true if slide function called via touch event or mouse drag\r\n * @param {Boolean} fromThumb - true if slide function called via thumbnail click\r\n */\r\n Plugin.prototype.slide = function(index, fromTouch, fromThumb) {\r\n\r\n var _prevIndex = this.$outer.find('.lg-current').index();\r\n var _this = this;\r\n\r\n // Prevent if multiple call\r\n // Required for hsh plugin\r\n if (_this.lGalleryOn && (_prevIndex === index)) {\r\n return;\r\n }\r\n\r\n var _length = this.$slide.length;\r\n var _time = _this.lGalleryOn ? this.s.speed : 0;\r\n var _next = false;\r\n var _prev = false;\r\n\r\n if (!_this.lgBusy) {\r\n\r\n this.$el.trigger('onBeforeSlide.lg', [_prevIndex, index, fromTouch, fromThumb]);\r\n\r\n _this.lgBusy = true;\r\n\r\n clearTimeout(_this.hideBartimeout);\r\n\r\n // Add title if this.s.appendSubHtmlTo === lg-sub-html\r\n if (this.s.appendSubHtmlTo === '.lg-sub-html') {\r\n\r\n // wait for slide animation to complete\r\n setTimeout(function() {\r\n _this.addHtml(index);\r\n }, _time);\r\n }\r\n\r\n this.arrowDisable(index);\r\n\r\n if (!fromTouch) {\r\n\r\n // remove all transitions\r\n _this.$outer.addClass('lg-no-trans');\r\n\r\n this.$slide.removeClass('lg-prev-slide lg-next-slide');\r\n\r\n if (index < _prevIndex) {\r\n _prev = true;\r\n if ((index === 0) && (_prevIndex === _length - 1) && !fromThumb) {\r\n _prev = false;\r\n _next = true;\r\n }\r\n } else if (index > _prevIndex) {\r\n _next = true;\r\n if ((index === _length - 1) && (_prevIndex === 0) && !fromThumb) {\r\n _prev = true;\r\n _next = false;\r\n }\r\n }\r\n\r\n if (_prev) {\r\n\r\n //prevslide\r\n this.$slide.eq(index).addClass('lg-prev-slide');\r\n this.$slide.eq(_prevIndex).addClass('lg-next-slide');\r\n } else if (_next) {\r\n\r\n // next slide\r\n this.$slide.eq(index).addClass('lg-next-slide');\r\n this.$slide.eq(_prevIndex).addClass('lg-prev-slide');\r\n }\r\n\r\n // give 50 ms for browser to add/remove class\r\n setTimeout(function() {\r\n _this.$slide.removeClass('lg-current');\r\n\r\n //_this.$slide.eq(_prevIndex).removeClass('lg-current');\r\n _this.$slide.eq(index).addClass('lg-current');\r\n\r\n // reset all transitions\r\n _this.$outer.removeClass('lg-no-trans');\r\n }, 50);\r\n } else {\r\n\r\n var touchPrev = index - 1;\r\n var touchNext = index + 1;\r\n\r\n if ((index === 0) && (_prevIndex === _length - 1)) {\r\n\r\n // next slide\r\n touchNext = 0;\r\n touchPrev = _length - 1;\r\n } else if ((index === _length - 1) && (_prevIndex === 0)) {\r\n\r\n // prev slide\r\n touchNext = 0;\r\n touchPrev = _length - 1;\r\n }\r\n\r\n this.$slide.removeClass('lg-prev-slide lg-current lg-next-slide');\r\n _this.$slide.eq(touchPrev).addClass('lg-prev-slide');\r\n _this.$slide.eq(touchNext).addClass('lg-next-slide');\r\n _this.$slide.eq(index).addClass('lg-current');\r\n }\r\n\r\n if (_this.lGalleryOn) {\r\n setTimeout(function() {\r\n _this.loadContent(index, true, 0);\r\n }, this.s.speed + 50);\r\n\r\n setTimeout(function() {\r\n _this.lgBusy = false;\r\n _this.$el.trigger('onAfterSlide.lg', [_prevIndex, index, fromTouch, fromThumb]);\r\n }, this.s.speed);\r\n\r\n // Support non css3 browser\r\n if (!_this.doCss()) {\r\n _this.$slide.fadeOut(_this.s.speed);\r\n _this.$slide.eq(index).fadeIn(_this.s.speed);\r\n }\r\n } else {\r\n _this.loadContent(index, true, _this.s.backdropDuration);\r\n\r\n _this.lgBusy = false;\r\n _this.$el.trigger('onAfterSlide.lg', [_prevIndex, index, fromTouch, fromThumb]);\r\n\r\n // Support non css3 browser\r\n if (!_this.doCss()) {\r\n _this.$slide.fadeOut(50);\r\n _this.$slide.eq(index).fadeIn(50);\r\n }\r\n }\r\n\r\n if (this.s.download) {\r\n var _src;\r\n if (_this.s.dynamic) {\r\n _src = _this.s.dynamicEl[index].downloadUrl || _this.s.dynamicEl[index].src;\r\n } else {\r\n _src = _this.$items.eq(index).attr('data-download-url') || _this.$items.eq(index).attr('href') || _this.$items.eq(index).attr('data-src');\r\n\r\n }\r\n\r\n $('#lg-download').attr('href', _src);\r\n }\r\n\r\n _this.lGalleryOn = true;\r\n\r\n if (this.s.counter) {\r\n $('#lg-counter-current').text(index + 1);\r\n }\r\n\r\n }\r\n\r\n };\r\n\r\n /**\r\n * @desc Go to next slide\r\n * @param {Boolean} fromTouch - true if slide function called via touch event\r\n */\r\n Plugin.prototype.goToNextSlide = function(fromTouch) {\r\n var _this = this;\r\n if (!_this.lgBusy) {\r\n if ((_this.index + 1) < _this.$slide.length) {\r\n _this.index++;\r\n _this.$el.trigger('onBeforeNextSlide.lg', [_this.index]);\r\n _this.slide(_this.index, fromTouch, false);\r\n } else {\r\n if (_this.s.loop) {\r\n _this.index = 0;\r\n _this.$el.trigger('onBeforeNextSlide.lg', [_this.index]);\r\n _this.slide(_this.index, fromTouch, false);\r\n } else if (_this.s.slideEndAnimatoin) {\r\n _this.$outer.addClass('lg-right-end');\r\n setTimeout(function() {\r\n _this.$outer.removeClass('lg-right-end');\r\n }, 400);\r\n }\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * @desc Go to previous slide\r\n * @param {Boolean} fromTouch - true if slide function called via touch event\r\n */\r\n Plugin.prototype.goToPrevSlide = function(fromTouch) {\r\n var _this = this;\r\n if (!_this.lgBusy) {\r\n if (_this.index > 0) {\r\n _this.index--;\r\n _this.$el.trigger('onBeforePrevSlide.lg', [_this.index, fromTouch]);\r\n _this.slide(_this.index, fromTouch, false);\r\n } else {\r\n if (_this.s.loop) {\r\n _this.index = _this.$items.length - 1;\r\n _this.$el.trigger('onBeforePrevSlide.lg', [_this.index, fromTouch]);\r\n _this.slide(_this.index, fromTouch, false);\r\n } else if (_this.s.slideEndAnimatoin) {\r\n _this.$outer.addClass('lg-left-end');\r\n setTimeout(function() {\r\n _this.$outer.removeClass('lg-left-end');\r\n }, 400);\r\n }\r\n }\r\n }\r\n };\r\n\r\n Plugin.prototype.keyPress = function() {\r\n var _this = this;\r\n if (this.$items.length > 1) {\r\n $(window).on('keyup.lg', function(e) {\r\n if (_this.$items.length > 1) {\r\n if (e.keyCode === 37) {\r\n e.preventDefault();\r\n _this.goToPrevSlide();\r\n }\r\n\r\n if (e.keyCode === 39) {\r\n e.preventDefault();\r\n _this.goToNextSlide();\r\n }\r\n }\r\n });\r\n }\r\n\r\n $(window).on('keydown.lg', function(e) {\r\n if (_this.s.escKey === true && e.keyCode === 27) {\r\n e.preventDefault();\r\n if (!_this.$outer.hasClass('lg-thumb-open')) {\r\n _this.destroy();\r\n } else {\r\n _this.$outer.removeClass('lg-thumb-open');\r\n }\r\n }\r\n });\r\n };\r\n\r\n Plugin.prototype.arrow = function() {\r\n var _this = this;\r\n this.$outer.find('.lg-prev').on('click.lg', function() {\r\n _this.goToPrevSlide();\r\n });\r\n\r\n this.$outer.find('.lg-next').on('click.lg', function() {\r\n _this.goToNextSlide();\r\n });\r\n };\r\n\r\n Plugin.prototype.arrowDisable = function(index) {\r\n\r\n // Disable arrows if s.hideControlOnEnd is true\r\n if (!this.s.loop && this.s.hideControlOnEnd) {\r\n if ((index + 1) < this.$slide.length) {\r\n this.$outer.find('.lg-next').removeAttr('disabled').removeClass('disabled');\r\n } else {\r\n this.$outer.find('.lg-next').attr('disabled', 'disabled').addClass('disabled');\r\n }\r\n\r\n if (index > 0) {\r\n this.$outer.find('.lg-prev').removeAttr('disabled').removeClass('disabled');\r\n } else {\r\n this.$outer.find('.lg-prev').attr('disabled', 'disabled').addClass('disabled');\r\n }\r\n }\r\n };\r\n\r\n Plugin.prototype.setTranslate = function($el, xValue, yValue) {\r\n // jQuery supports Automatic CSS prefixing since jQuery 1.8.0\r\n if (this.s.useLeft) {\r\n $el.css('left', xValue);\r\n } else {\r\n $el.css({\r\n transform: 'translate3d(' + (xValue) + 'px, ' + yValue + 'px, 0px)'\r\n });\r\n }\r\n };\r\n\r\n Plugin.prototype.touchMove = function(startCoords, endCoords) {\r\n\r\n var distance = endCoords - startCoords;\r\n\r\n // reset opacity and transition duration\r\n this.$outer.addClass('lg-dragging');\r\n\r\n // move current slide\r\n this.setTranslate(this.$slide.eq(this.index), distance, 0);\r\n\r\n // move next and prev slide with current slide\r\n this.setTranslate($('.lg-prev-slide'), -this.$slide.eq(this.index).width() + distance, 0);\r\n this.setTranslate($('.lg-next-slide'), this.$slide.eq(this.index).width() + distance, 0);\r\n };\r\n\r\n Plugin.prototype.touchEnd = function(distance) {\r\n var _this = this;\r\n\r\n // keep slide animation for any mode while dragg/swipe\r\n if (_this.s.mode !== 'lg-slide') {\r\n _this.$outer.addClass('lg-slide');\r\n }\r\n\r\n this.$slide.not('.lg-current, .lg-prev-slide, .lg-next-slide').css('opacity', '0');\r\n\r\n // set transition duration\r\n setTimeout(function() {\r\n _this.$outer.removeClass('lg-dragging');\r\n if ((distance < 0) && (Math.abs(distance) > _this.s.swipeThreshold)) {\r\n _this.goToNextSlide(true);\r\n } else if ((distance > 0) && (Math.abs(distance) > _this.s.swipeThreshold)) {\r\n _this.goToPrevSlide(true);\r\n } else if (Math.abs(distance) < 5) {\r\n\r\n // Trigger click if distance is less than 5 pix\r\n _this.$el.trigger('onSlideClick.lg');\r\n }\r\n\r\n _this.$slide.removeAttr('style');\r\n });\r\n\r\n // remove slide class once drag/swipe is completed if mode is not slide\r\n setTimeout(function() {\r\n if (!_this.$outer.hasClass('lg-dragging') && _this.s.mode !== 'lg-slide') {\r\n _this.$outer.removeClass('lg-slide');\r\n }\r\n }, _this.s.speed + 100);\r\n\r\n };\r\n\r\n Plugin.prototype.enableSwipe = function() {\r\n var _this = this;\r\n var startCoords = 0;\r\n var endCoords = 0;\r\n var isMoved = false;\r\n\r\n if (_this.s.enableSwipe && _this.isTouch && _this.doCss()) {\r\n\r\n _this.$slide.on('touchstart.lg', function(e) {\r\n if (!_this.$outer.hasClass('lg-zoomed') && !_this.lgBusy) {\r\n e.preventDefault();\r\n _this.manageSwipeClass();\r\n startCoords = e.originalEvent.targetTouches[0].pageX;\r\n }\r\n });\r\n\r\n _this.$slide.on('touchmove.lg', function(e) {\r\n if (!_this.$outer.hasClass('lg-zoomed')) {\r\n e.preventDefault();\r\n endCoords = e.originalEvent.targetTouches[0].pageX;\r\n _this.touchMove(startCoords, endCoords);\r\n isMoved = true;\r\n }\r\n });\r\n\r\n _this.$slide.on('touchend.lg', function() {\r\n if (!_this.$outer.hasClass('lg-zoomed')) {\r\n if (isMoved) {\r\n isMoved = false;\r\n _this.touchEnd(endCoords - startCoords);\r\n } else {\r\n _this.$el.trigger('onSlideClick.lg');\r\n }\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n Plugin.prototype.enableDrag = function() {\r\n var _this = this;\r\n var startCoords = 0;\r\n var endCoords = 0;\r\n var isDraging = false;\r\n var isMoved = false;\r\n if (_this.s.enableDrag && !_this.isTouch && _this.doCss()) {\r\n _this.$slide.on('mousedown.lg', function(e) {\r\n // execute only on .lg-object\r\n if (!_this.$outer.hasClass('lg-zoomed')) {\r\n if ($(e.target).hasClass('lg-object') || $(e.target).hasClass('lg-video-play')) {\r\n e.preventDefault();\r\n\r\n if (!_this.lgBusy) {\r\n _this.manageSwipeClass();\r\n startCoords = e.pageX;\r\n isDraging = true;\r\n\r\n // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723\r\n _this.$outer.scrollLeft += 1;\r\n _this.$outer.scrollLeft -= 1;\r\n\r\n // *\r\n\r\n _this.$outer.removeClass('lg-grab').addClass('lg-grabbing');\r\n\r\n _this.$el.trigger('onDragstart.lg');\r\n }\r\n\r\n }\r\n }\r\n });\r\n\r\n $(window).on('mousemove.lg', function(e) {\r\n if (isDraging) {\r\n isMoved = true;\r\n endCoords = e.pageX;\r\n _this.touchMove(startCoords, endCoords);\r\n _this.$el.trigger('onDragmove.lg');\r\n }\r\n });\r\n\r\n $(window).on('mouseup.lg', function(e) {\r\n if (isMoved) {\r\n isMoved = false;\r\n _this.touchEnd(endCoords - startCoords);\r\n _this.$el.trigger('onDragend.lg');\r\n } else if ($(e.target).hasClass('lg-object') || $(e.target).hasClass('lg-video-play')) {\r\n _this.$el.trigger('onSlideClick.lg');\r\n }\r\n\r\n // Prevent execution on click\r\n if (isDraging) {\r\n isDraging = false;\r\n _this.$outer.removeClass('lg-grabbing').addClass('lg-grab');\r\n }\r\n });\r\n\r\n }\r\n };\r\n\r\n Plugin.prototype.manageSwipeClass = function() {\r\n var touchNext = this.index + 1;\r\n var touchPrev = this.index - 1;\r\n var length = this.$slide.length;\r\n if (this.s.loop) {\r\n if (this.index === 0) {\r\n touchPrev = length - 1;\r\n } else if (this.index === length - 1) {\r\n touchNext = 0;\r\n }\r\n }\r\n\r\n this.$slide.removeClass('lg-next-slide lg-prev-slide');\r\n if (touchPrev > -1) {\r\n this.$slide.eq(touchPrev).addClass('lg-prev-slide');\r\n }\r\n\r\n this.$slide.eq(touchNext).addClass('lg-next-slide');\r\n };\r\n\r\n Plugin.prototype.mousewheel = function() {\r\n var _this = this;\r\n _this.$outer.on('mousewheel.lg', function(e) {\r\n if (e.deltaY > 0) {\r\n _this.goToPrevSlide();\r\n } else {\r\n _this.goToNextSlide();\r\n }\r\n\r\n e.preventDefault();\r\n });\r\n\r\n };\r\n\r\n Plugin.prototype.closeGallery = function() {\r\n\r\n var _this = this;\r\n var mousedown = false;\r\n this.$outer.find('.lg-close').on('click.lg', function() {\r\n _this.destroy();\r\n });\r\n\r\n if (_this.s.closable) {\r\n\r\n // If you drag the slide and release outside gallery gets close on chrome\r\n // for preventing this check mousedown and mouseup happened on .lg-item or lg-outer\r\n _this.$outer.on('mousedown.lg', function(e) {\r\n\r\n if ($(e.target).is('.lg-outer') || $(e.target).is('.lg-item ') || $(e.target).is('.lg-img-wrap')) {\r\n mousedown = true;\r\n } else {\r\n mousedown = false;\r\n }\r\n\r\n });\r\n\r\n _this.$outer.on('mouseup.lg', function(e) {\r\n\r\n if ($(e.target).is('.lg-outer') || $(e.target).is('.lg-item ') || $(e.target).is('.lg-img-wrap') && mousedown) {\r\n if (!_this.$outer.hasClass('lg-dragging')) {\r\n _this.destroy();\r\n }\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n };\r\n\r\n Plugin.prototype.destroy = function(d) {\r\n\r\n var _this = this;\r\n\r\n _this.$el.trigger('onBeforeClose.lg');\r\n\r\n /**\r\n * if d is false or undefined destroy will only close the gallery\r\n * plugins instance remains with the element\r\n\r\n * if d is true destroy will completely remove the plugin\r\n */\r\n\r\n if (d) {\r\n this.$items.off('click.lg click.lgcustom');\r\n $.removeData(_this.el, 'lightGallery');\r\n }\r\n\r\n // Unbind all events added by lightGallery\r\n this.$el.off('.lg.tm');\r\n\r\n // Distroy all lightGallery modules\r\n $.each($.fn.lightGallery.modules, function(key) {\r\n if (_this.modules[key]) {\r\n _this.modules[key].destroy();\r\n }\r\n });\r\n\r\n this.lGalleryOn = false;\r\n\r\n clearTimeout(_this.hideBartimeout);\r\n this.hideBartimeout = false;\r\n $(window).off('.lg');\r\n $('body').removeClass('lg-on lg-from-hash');\r\n\r\n if (_this.$outer) {\r\n _this.$outer.removeClass('lg-visible');\r\n }\r\n\r\n $('.lg-backdrop').removeClass('in');\r\n\r\n setTimeout(function() {\r\n if (_this.$outer) {\r\n _this.$outer.remove();\r\n }\r\n\r\n $('.lg-backdrop').remove();\r\n\r\n _this.$el.trigger('onCloseAfter.lg');\r\n }, _this.s.backdropDuration + 50);\r\n };\r\n\r\n $.fn.lightGallery = function(options) {\r\n return this.each(function() {\r\n if (!$.data(this, 'lightGallery')) {\r\n $.data(this, 'lightGallery', new Plugin(this, options));\r\n } else {\r\n try {\r\n $(this).data('lightGallery').init();\r\n } catch (err) {\r\n console.error('lightGallery has not initiated properly');\r\n }\r\n }\r\n });\r\n };\r\n\r\n $.fn.lightGallery.modules = {};\r\n\r\n})(jQuery, window, document);\r\n","/*! lightgallery - v1.2.4 - 2015-09-26\r\n* http://sachinchoolur.github.io/lightGallery/\r\n* Copyright (c) 2015 Sachin N; Licensed Apache 2.0 */\r\n(function($, window, document, undefined) {\r\n\r\n 'use strict';\r\n\r\n var defaults = {\r\n thumbnail: true,\r\n\r\n animateThumb: true,\r\n currentPagerPosition: 'middle',\r\n\r\n thumbWidth: 100,\r\n thumbContHeight: 100,\r\n thumbMargin: 5,\r\n\r\n exThumbImage: false,\r\n showThumbByDefault: true,\r\n toogleThumb: true,\r\n pullCaptionUp: true,\r\n\r\n enableThumbDrag: true,\r\n enableThumbSwipe: true,\r\n swipeThreshold: 50,\r\n\r\n loadYoutubeThumbnail: true,\r\n youtubeThumbSize: 1,\r\n\r\n loadVimeoThumbnail: true,\r\n vimeoThumbSize: 'thumbnail_small',\r\n\r\n loadDailymotionThumbnail: true\r\n };\r\n\r\n var Thumbnail = function(element) {\r\n\r\n // get lightGallery core plugin data\r\n this.core = $(element).data('lightGallery');\r\n\r\n // extend module default settings with lightGallery core settings\r\n this.core.s = $.extend({}, defaults, this.core.s);\r\n\r\n this.$el = $(element);\r\n this.$thumbOuter = null;\r\n this.thumbOuterWidth = 0;\r\n this.thumbTotalWidth = (this.core.$items.length * (this.core.s.thumbWidth + this.core.s.thumbMargin));\r\n this.thumbIndex = this.core.index;\r\n\r\n // Thumbnail animation value\r\n this.left = 0;\r\n\r\n this.init();\r\n\r\n return this;\r\n };\r\n\r\n Thumbnail.prototype.init = function() {\r\n if (this.core.s.thumbnail && this.core.$items.length > 1) {\r\n if (this.core.s.showThumbByDefault) {\r\n this.core.$outer.addClass('lg-thumb-open');\r\n }\r\n\r\n if (this.core.s.pullCaptionUp) {\r\n this.core.$outer.addClass('lg-pull-caption-up');\r\n }\r\n\r\n this.build();\r\n if (this.core.s.animateThumb) {\r\n if (this.core.s.enableThumbDrag && !this.core.isTouch && this.core.doCss()) {\r\n this.enableThumbDrag();\r\n }\r\n\r\n if (this.core.s.enableThumbSwipe && this.core.isTouch && this.core.doCss()) {\r\n this.enableThumbSwipe();\r\n }\r\n\r\n this.thumbClickable = false;\r\n } else {\r\n this.thumbClickable = true;\r\n }\r\n\r\n this.toogle();\r\n this.thumbkeyPress();\r\n }\r\n };\r\n\r\n Thumbnail.prototype.build = function() {\r\n var _this = this;\r\n var thumbList = '';\r\n var vimeoErrorThumbSize = '';\r\n var $thumb;\r\n var html = '
' +\r\n '
' +\r\n '
' +\r\n '
';\r\n\r\n switch (this.core.s.vimeoThumbSize) {\r\n case 'thumbnail_large':\r\n vimeoErrorThumbSize = '640';\r\n break;\r\n case 'thumbnail_medium':\r\n vimeoErrorThumbSize = '200x150';\r\n break;\r\n case 'thumbnail_small':\r\n vimeoErrorThumbSize = '100x75';\r\n }\r\n\r\n _this.core.$outer.addClass('lg-has-thumb');\r\n\r\n _this.core.$outer.find('.lg').append(html);\r\n\r\n _this.$thumbOuter = _this.core.$outer.find('.lg-thumb-outer');\r\n _this.thumbOuterWidth = _this.$thumbOuter.width();\r\n\r\n if (_this.core.s.animateThumb) {\r\n _this.core.$outer.find('.lg-thumb').css({\r\n width: _this.thumbTotalWidth + 'px',\r\n position: 'relative'\r\n });\r\n }\r\n\r\n if (this.core.s.animateThumb) {\r\n _this.$thumbOuter.css('height', _this.core.s.thumbContHeight + 'px');\r\n }\r\n\r\n function getThumb(src, thumb, index) {\r\n var isVideo = _this.core.isVideo(src, index) || {};\r\n var thumbImg;\r\n var vimeoId = '';\r\n\r\n if (isVideo.youtube || isVideo.vimeo || isVideo.dailymotion) {\r\n if (isVideo.youtube) {\r\n if (_this.core.s.loadYoutubeThumbnail) {\r\n thumbImg = '//img.youtube.com/vi/' + isVideo.youtube[1] + '/' + _this.core.s.youtubeThumbSize + '.jpg';\r\n } else {\r\n thumbImg = thumb;\r\n }\r\n } else if (isVideo.vimeo) {\r\n if (_this.core.s.loadVimeoThumbnail) {\r\n thumbImg = '//i.vimeocdn.com/video/error_' + vimeoErrorThumbSize + '.jpg';\r\n vimeoId = isVideo.vimeo[1];\r\n } else {\r\n thumbImg = thumb;\r\n }\r\n } else if (isVideo.dailymotion) {\r\n if (_this.core.s.loadDailymotionThumbnail) {\r\n thumbImg = '//www.dailymotion.com/thumbnail/video/' + isVideo.dailymotion[1];\r\n } else {\r\n thumbImg = thumb;\r\n }\r\n }\r\n } else {\r\n thumbImg = thumb;\r\n }\r\n\r\n thumbList += '
';\r\n vimeoId = '';\r\n }\r\n\r\n if (_this.core.s.dynamic) {\r\n for (var i = 0; i < _this.core.s.dynamicEl.length; i++) {\r\n getThumb(_this.core.s.dynamicEl[i].src, _this.core.s.dynamicEl[i].thumb, i);\r\n }\r\n } else {\r\n _this.core.$items.each(function(i) {\r\n\r\n if (!_this.core.s.exThumbImage) {\r\n getThumb($(this).attr('href') || $(this).attr('data-src'), $(this).find('img').attr('src'), i);\r\n } else {\r\n getThumb($(this).attr('href') || $(this).attr('data-src'), $(this).attr(_this.core.s.exThumbImage), i);\r\n }\r\n\r\n });\r\n }\r\n\r\n _this.core.$outer.find('.lg-thumb').html(thumbList);\r\n\r\n $thumb = _this.core.$outer.find('.lg-thumb-item');\r\n\r\n // Load vimeo thumbnails\r\n $thumb.each(function() {\r\n var $this = $(this);\r\n var vimeoVideoId = $this.attr('data-vimeo-id');\r\n\r\n if (vimeoVideoId) {\r\n $.getJSON('http://www.vimeo.com/api/v2/video/' + vimeoVideoId + '.json?callback=?', {\r\n format: 'json'\r\n }, function(data) {\r\n $this.find('img').attr('src', data[0][_this.core.s.vimeoThumbSize]);\r\n });\r\n }\r\n });\r\n\r\n // manage active class for thumbnail\r\n $thumb.eq(_this.core.index).addClass('active');\r\n _this.core.$el.on('onBeforeSlide.lg.tm', function() {\r\n $thumb.removeClass('active');\r\n $thumb.eq(_this.core.index).addClass('active');\r\n });\r\n\r\n $thumb.on('click.lg touchend.lg', function() {\r\n var _$this = $(this);\r\n setTimeout(function() {\r\n\r\n // In IE9 and bellow touch does not support\r\n // Go to slide if browser does not support css transitions\r\n if ((_this.thumbClickable && !_this.core.lgBusy) || !_this.core.doCss()) {\r\n _this.core.index = _$this.index();\r\n _this.core.slide(_this.core.index, false, true);\r\n }\r\n }, 50);\r\n });\r\n\r\n _this.core.$el.on('onBeforeSlide.lg.tm', function() {\r\n _this.animateThumb(_this.core.index);\r\n });\r\n\r\n $(window).on('resize.lg.thumb orientationchange.lg.thumb', function() {\r\n setTimeout(function() {\r\n _this.animateThumb(_this.core.index);\r\n _this.thumbOuterWidth = _this.$thumbOuter.width();\r\n }, 200);\r\n });\r\n\r\n };\r\n\r\n Thumbnail.prototype.setTranslate = function(value) {\r\n // jQuery supports Automatic CSS prefixing since jQuery 1.8.0\r\n this.core.$outer.find('.lg-thumb').css({\r\n transform: 'translate3d(-' + (value) + 'px, 0px, 0px)'\r\n });\r\n };\r\n\r\n Thumbnail.prototype.animateThumb = function(index) {\r\n var $thumb = this.core.$outer.find('.lg-thumb');\r\n if (this.core.s.animateThumb) {\r\n var position;\r\n switch (this.core.s.currentPagerPosition) {\r\n case 'left':\r\n position = 0;\r\n break;\r\n case 'middle':\r\n position = (this.thumbOuterWidth / 2) - (this.core.s.thumbWidth / 2);\r\n break;\r\n case 'right':\r\n position = this.thumbOuterWidth - this.core.s.thumbWidth;\r\n }\r\n this.left = ((this.core.s.thumbWidth + this.core.s.thumbMargin) * index - 1) - position;\r\n if (this.left > (this.thumbTotalWidth - this.thumbOuterWidth)) {\r\n this.left = this.thumbTotalWidth - this.thumbOuterWidth;\r\n }\r\n\r\n if (this.left < 0) {\r\n this.left = 0;\r\n }\r\n\r\n if (this.core.lGalleryOn) {\r\n if (!$thumb.hasClass('on')) {\r\n this.core.$outer.find('.lg-thumb').css('transition-duration', this.core.s.speed + 'ms');\r\n }\r\n\r\n if (!this.core.doCss()) {\r\n $thumb.animate({\r\n left: -this.left + 'px'\r\n }, this.core.s.speed);\r\n }\r\n } else {\r\n if (!this.core.doCss()) {\r\n $thumb.css('left', -this.left + 'px');\r\n }\r\n }\r\n\r\n this.setTranslate(this.left);\r\n\r\n }\r\n };\r\n\r\n // Enable thumbnail dragging and swiping\r\n Thumbnail.prototype.enableThumbDrag = function() {\r\n\r\n var _this = this;\r\n var startCoords = 0;\r\n var endCoords = 0;\r\n var isDraging = false;\r\n var isMoved = false;\r\n var tempLeft = 0;\r\n\r\n _this.$thumbOuter.addClass('lg-grab');\r\n\r\n _this.core.$outer.find('.lg-thumb').on('mousedown.lg.thumb', function(e) {\r\n if (_this.thumbTotalWidth > _this.thumbOuterWidth) {\r\n // execute only on .lg-object\r\n e.preventDefault();\r\n startCoords = e.pageX;\r\n isDraging = true;\r\n\r\n // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723\r\n _this.core.$outer.scrollLeft += 1;\r\n _this.core.$outer.scrollLeft -= 1;\r\n\r\n // *\r\n _this.thumbClickable = false;\r\n _this.$thumbOuter.removeClass('lg-grab').addClass('lg-grabbing');\r\n }\r\n });\r\n\r\n $(window).on('mousemove.lg.thumb', function(e) {\r\n if (isDraging) {\r\n tempLeft = _this.left;\r\n isMoved = true;\r\n endCoords = e.pageX;\r\n\r\n _this.$thumbOuter.addClass('lg-dragging');\r\n\r\n tempLeft = tempLeft - (endCoords - startCoords);\r\n\r\n if (tempLeft > (_this.thumbTotalWidth - _this.thumbOuterWidth)) {\r\n tempLeft = _this.thumbTotalWidth - _this.thumbOuterWidth;\r\n }\r\n\r\n if (tempLeft < 0) {\r\n tempLeft = 0;\r\n }\r\n\r\n // move current slide\r\n _this.setTranslate(tempLeft);\r\n\r\n }\r\n });\r\n\r\n $(window).on('mouseup.lg.thumb', function() {\r\n if (isMoved) {\r\n isMoved = false;\r\n _this.$thumbOuter.removeClass('lg-dragging');\r\n\r\n _this.left = tempLeft;\r\n\r\n if (Math.abs(endCoords - startCoords) < _this.core.s.swipeThreshold) {\r\n _this.thumbClickable = true;\r\n }\r\n\r\n } else {\r\n _this.thumbClickable = true;\r\n }\r\n\r\n if (isDraging) {\r\n isDraging = false;\r\n _this.$thumbOuter.removeClass('lg-grabbing').addClass('lg-grab');\r\n }\r\n });\r\n\r\n };\r\n\r\n Thumbnail.prototype.enableThumbSwipe = function() {\r\n var _this = this;\r\n var startCoords = 0;\r\n var endCoords = 0;\r\n var isMoved = false;\r\n var tempLeft = 0;\r\n\r\n _this.core.$outer.find('.lg-thumb').on('touchstart.lg', function(e) {\r\n if (_this.thumbTotalWidth > _this.thumbOuterWidth) {\r\n e.preventDefault();\r\n startCoords = e.originalEvent.targetTouches[0].pageX;\r\n _this.thumbClickable = false;\r\n }\r\n });\r\n\r\n _this.core.$outer.find('.lg-thumb').on('touchmove.lg', function(e) {\r\n if (_this.thumbTotalWidth > _this.thumbOuterWidth) {\r\n e.preventDefault();\r\n endCoords = e.originalEvent.targetTouches[0].pageX;\r\n isMoved = true;\r\n\r\n _this.$thumbOuter.addClass('lg-dragging');\r\n\r\n tempLeft = _this.left;\r\n\r\n tempLeft = tempLeft - (endCoords - startCoords);\r\n\r\n if (tempLeft > (_this.thumbTotalWidth - _this.thumbOuterWidth)) {\r\n tempLeft = _this.thumbTotalWidth - _this.thumbOuterWidth;\r\n }\r\n\r\n if (tempLeft < 0) {\r\n tempLeft = 0;\r\n }\r\n\r\n // move current slide\r\n _this.setTranslate(tempLeft);\r\n\r\n }\r\n });\r\n\r\n _this.core.$outer.find('.lg-thumb').on('touchend.lg', function() {\r\n if (_this.thumbTotalWidth > _this.thumbOuterWidth) {\r\n\r\n if (isMoved) {\r\n isMoved = false;\r\n _this.$thumbOuter.removeClass('lg-dragging');\r\n if (Math.abs(endCoords - startCoords) < _this.core.s.swipeThreshold) {\r\n _this.thumbClickable = true;\r\n }\r\n\r\n _this.left = tempLeft;\r\n } else {\r\n _this.thumbClickable = true;\r\n }\r\n } else {\r\n _this.thumbClickable = true;\r\n }\r\n });\r\n\r\n };\r\n\r\n Thumbnail.prototype.toogle = function() {\r\n var _this = this;\r\n if (_this.core.s.toogleThumb) {\r\n _this.core.$outer.addClass('lg-can-toggle');\r\n _this.$thumbOuter.append('');\r\n _this.core.$outer.find('.lg-toogle-thumb').on('click.lg', function() {\r\n _this.core.$outer.toggleClass('lg-thumb-open');\r\n });\r\n }\r\n };\r\n\r\n Thumbnail.prototype.thumbkeyPress = function() {\r\n var _this = this;\r\n $(window).on('keydown.lg.thumb', function(e) {\r\n if (e.keyCode === 38) {\r\n e.preventDefault();\r\n _this.core.$outer.addClass('lg-thumb-open');\r\n } else if (e.keyCode === 40) {\r\n e.preventDefault();\r\n _this.core.$outer.removeClass('lg-thumb-open');\r\n }\r\n });\r\n };\r\n\r\n Thumbnail.prototype.destroy = function() {\r\n if (this.core.s.thumbnail && this.core.$items.length > 1) {\r\n $(window).off('resize.lg.thumb orientationchange.lg.thumb keydown.lg.thumb');\r\n this.$thumbOuter.remove();\r\n this.core.$outer.removeClass('lg-has-thumb');\r\n }\r\n };\r\n\r\n $.fn.lightGallery.modules.Thumbnail = Thumbnail;\r\n\r\n})(jQuery, window, document);\r\n","/*! lightgallery - v1.2.4 - 2015-09-26\r\n* http://sachinchoolur.github.io/lightGallery/\r\n* Copyright (c) 2015 Sachin N; Licensed Apache 2.0 */\r\n(function($, window, document, undefined) {\r\n\r\n 'use strict';\r\n\r\n var defaults = {\r\n fullScreen: true\r\n };\r\n\r\n var Fullscreen = function(element) {\r\n\r\n // get lightGallery core plugin data\r\n this.core = $(element).data('lightGallery');\r\n\r\n this.$el = $(element);\r\n\r\n // extend module defalut settings with lightGallery core settings\r\n this.core.s = $.extend({}, defaults, this.core.s);\r\n\r\n this.init();\r\n\r\n return this;\r\n };\r\n\r\n Fullscreen.prototype.init = function() {\r\n var fullScreen = '';\r\n if (this.core.s.fullScreen) {\r\n\r\n // check for fullscreen browser support\r\n if (!document.fullscreenEnabled && !document.webkitFullscreenEnabled &&\r\n !document.mozFullScreenEnabled && !document.msFullscreenEnabled) {\r\n return;\r\n } else {\r\n fullScreen = '';\r\n this.core.$outer.find('.lg-toolbar').append(fullScreen);\r\n this.fullScreen();\r\n }\r\n }\r\n };\r\n\r\n Fullscreen.prototype.reuestFullscreen = function() {\r\n var el = document.documentElement;\r\n if (el.requestFullscreen) {\r\n el.requestFullscreen();\r\n } else if (el.msRequestFullscreen) {\r\n el.msRequestFullscreen();\r\n } else if (el.mozRequestFullScreen) {\r\n el.mozRequestFullScreen();\r\n } else if (el.webkitRequestFullscreen) {\r\n el.webkitRequestFullscreen();\r\n }\r\n };\r\n\r\n Fullscreen.prototype.exitFullscreen = function() {\r\n if (document.exitFullscreen) {\r\n document.exitFullscreen();\r\n } else if (document.msExitFullscreen) {\r\n document.msExitFullscreen();\r\n } else if (document.mozCancelFullScreen) {\r\n document.mozCancelFullScreen();\r\n } else if (document.webkitExitFullscreen) {\r\n document.webkitExitFullscreen();\r\n }\r\n };\r\n\r\n // https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode\r\n Fullscreen.prototype.fullScreen = function() {\r\n var _this = this;\r\n\r\n $(document).on('fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg', function() {\r\n _this.core.$outer.toggleClass('lg-fullscreen-on');\r\n });\r\n\r\n this.core.$outer.find('.lg-fullscreen').on('click.lg', function() {\r\n if (!document.fullscreenElement &&\r\n !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) {\r\n _this.reuestFullscreen();\r\n } else {\r\n _this.exitFullscreen();\r\n }\r\n });\r\n\r\n };\r\n\r\n Fullscreen.prototype.destroy = function() {\r\n\r\n // exit from fullscreen if activated\r\n this.exitFullscreen();\r\n\r\n $(document).off('fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg');\r\n };\r\n\r\n $.fn.lightGallery.modules.fullscreen = Fullscreen;\r\n\r\n})(jQuery, window, document);\r\n","/*! lightgallery - v1.2.4 - 2015-09-26\r\n* http://sachinchoolur.github.io/lightGallery/\r\n* Copyright (c) 2015 Sachin N; Licensed Apache 2.0 */\r\n(function($, window, document, undefined) {\r\n\r\n 'use strict';\r\n\r\n var defaults = {\r\n videoMaxWidth: '855px',\r\n youtubePlayerParams: false,\r\n vimeoPlayerParams: false,\r\n dailymotionPlayerParams: false,\r\n videojs: false\r\n };\r\n\r\n var Video = function(element) {\r\n\r\n this.core = $(element).data('lightGallery');\r\n\r\n this.$el = $(element);\r\n this.core.s = $.extend({}, defaults, this.core.s);\r\n this.videoLoaded = false;\r\n\r\n this.init();\r\n\r\n return this;\r\n };\r\n\r\n Video.prototype.init = function() {\r\n var _this = this;\r\n\r\n // Event triggered when video url found without poster\r\n _this.core.$el.on('hasVideo.lg.tm', function(event, index, src, html) {\r\n _this.core.$slide.eq(index).find('.lg-video').append(_this.loadVideo(src, 'lg-object', true, index, html));\r\n if (html) {\r\n if (_this.core.s.videojs) {\r\n try {\r\n videojs(_this.core.$slide.eq(index).find('.lg-html5').get(0), {}, function() {\r\n if (!_this.videoLoaded) {\r\n this.play();\r\n }\r\n });\r\n } catch (e) {\r\n console.error('Make sure you have included videojs');\r\n }\r\n } else {\r\n _this.core.$slide.eq(index).find('.lg-html5').get(0).play();\r\n }\r\n }\r\n });\r\n\r\n // Set max width for video\r\n _this.core.$el.on('onAferAppendSlide.lg.tm', function(event, index) {\r\n _this.core.$slide.eq(index).find('.lg-video-cont').css('max-width', _this.core.s.videoMaxWidth);\r\n _this.videoLoaded = true;\r\n });\r\n\r\n var loadOnClick = function($el) {\r\n // check slide has poster\r\n if ($el.find('.lg-object').hasClass('lg-has-poster')) {\r\n\r\n // chack already video element present\r\n if (!$el.hasClass('lg-has-video')) {\r\n\r\n $el.addClass('lg-video-palying lg-has-video');\r\n\r\n var _src;\r\n var _html;\r\n var _loadVideo = function(_src, _html) {\r\n\r\n $el.find('.lg-video').append(_this.loadVideo(_src, '', false, _this.core.index, _html));\r\n\r\n if (_html) {\r\n if (_this.core.s.videojs) {\r\n try {\r\n videojs(_this.core.$slide.eq(_this.core.index).find('.lg-html5').get(0), {}, function() {\r\n this.play();\r\n });\r\n } catch (e) {\r\n console.error('Make sure you have included videojs');\r\n }\r\n } else {\r\n _this.core.$slide.eq(_this.core.index).find('.lg-html5').get(0).play();\r\n }\r\n }\r\n\r\n };\r\n\r\n if (_this.core.s.dynamic) {\r\n\r\n _src = _this.core.s.dynamicEl[_this.core.index].src;\r\n _html = _this.core.s.dynamicEl[_this.core.index].html;\r\n\r\n _loadVideo(_src, _html);\r\n\r\n } else {\r\n\r\n _src = _this.core.$items.eq(_this.core.index).attr('href') || _this.core.$items.eq(_this.core.index).attr('data-src');\r\n _html = _this.core.$items.eq(_this.core.index).attr('data-html');\r\n\r\n _loadVideo(_src, _html);\r\n\r\n }\r\n\r\n var $tempImg = $el.find('.lg-object');\r\n $el.find('.lg-video').append($tempImg);\r\n\r\n // @todo loading icon for html5 videos also\r\n // for showing the loading indicator while loading video\r\n if (!$el.find('.lg-video-object').hasClass('lg-html5')) {\r\n $el.removeClass('lg-complete');\r\n $el.find('.lg-video-object').on('load.lg error.lg', function() {\r\n $el.addClass('lg-complete');\r\n });\r\n }\r\n\r\n } else {\r\n\r\n var youtubePlayer = $el.find('.lg-youtube').get(0);\r\n var vimeoPlayer = $el.find('.lg-vimeo').get(0);\r\n var dailymotionPlayer = $el.find('.lg-dailymotion').get(0);\r\n var html5Player = $el.find('.lg-html5').get(0);\r\n if (youtubePlayer) {\r\n youtubePlayer.contentWindow.postMessage('{\"event\":\"command\",\"func\":\"playVideo\",\"args\":\"\"}', '*');\r\n } else if (vimeoPlayer) {\r\n try {\r\n $f(vimeoPlayer).api('play');\r\n } catch (e) {\r\n console.error('Make sure you have included froogaloop2 js');\r\n }\r\n } else if (dailymotionPlayer) {\r\n dailymotionPlayer.contentWindow.postMessage('play', '*');\r\n\r\n } else if (html5Player) {\r\n if (_this.core.s.videojs) {\r\n try {\r\n videojs(html5Player).play();\r\n } catch (e) {\r\n console.error('Make sure you have included videojs');\r\n }\r\n } else {\r\n html5Player.play();\r\n }\r\n }\r\n\r\n $el.addClass('lg-video-palying');\r\n\r\n }\r\n }\r\n };\r\n\r\n if (_this.core.doCss() && _this.core.$items.length > 1 && ((_this.core.s.enableSwipe && _this.core.isTouch) || (_this.core.s.enableDrag && !_this.core.isTouch))) {\r\n _this.core.$el.on('onSlideClick.lg.tm', function() {\r\n var $el = _this.core.$slide.eq(_this.core.index);\r\n loadOnClick($el);\r\n });\r\n } else {\r\n\r\n // For IE 9 and bellow\r\n _this.core.$slide.on('click.lg', function() {\r\n loadOnClick($(this));\r\n });\r\n }\r\n\r\n _this.core.$el.on('onBeforeSlide.lg.tm', function(event, prevIndex) {\r\n\r\n var $videoSlide = _this.core.$slide.eq(prevIndex);\r\n var youtubePlayer = $videoSlide.find('.lg-youtube').get(0);\r\n var vimeoPlayer = $videoSlide.find('.lg-vimeo').get(0);\r\n var dailymotionPlayer = $videoSlide.find('.lg-dailymotion').get(0);\r\n var html5Player = $videoSlide.find('.lg-html5').get(0);\r\n if (youtubePlayer) {\r\n youtubePlayer.contentWindow.postMessage('{\"event\":\"command\",\"func\":\"pauseVideo\",\"args\":\"\"}', '*');\r\n } else if (vimeoPlayer) {\r\n try {\r\n $f(vimeoPlayer).api('pause');\r\n } catch (e) {\r\n console.error('Make sure you have included froogaloop2 js');\r\n }\r\n } else if (dailymotionPlayer) {\r\n dailymotionPlayer.contentWindow.postMessage('pause', '*');\r\n\r\n } else if (html5Player) {\r\n if (_this.core.s.videojs) {\r\n try {\r\n videojs(html5Player).pause();\r\n } catch (e) {\r\n console.error('Make sure you have included videojs');\r\n }\r\n } else {\r\n html5Player.pause();\r\n }\r\n }\r\n\r\n //$videoSlide.addClass('lg-complete');\r\n\r\n });\r\n\r\n _this.core.$el.on('onAfterSlide.lg.tm', function(event, prevIndex) {\r\n _this.core.$slide.eq(prevIndex).removeClass('lg-video-palying');\r\n });\r\n };\r\n\r\n Video.prototype.loadVideo = function(src, addClass, noposter, index, html) {\r\n var video = '';\r\n var autoplay = 1;\r\n var a = '';\r\n var isVideo = this.core.isVideo(src, index) || {};\r\n\r\n // Enable autoplay for first video if poster doesn't exist\r\n if (noposter) {\r\n if (this.videoLoaded) {\r\n autoplay = 0;\r\n } else {\r\n autoplay = 1;\r\n }\r\n }\r\n\r\n if (isVideo.youtube) {\r\n\r\n a = '?wmode=opaque&autoplay=' + autoplay + '&enablejsapi=1';\r\n if (this.core.s.youtubePlayerParams) {\r\n a = a + '&' + $.param(this.core.s.youtubePlayerParams);\r\n }\r\n\r\n video = '';\r\n\r\n } else if (isVideo.vimeo) {\r\n\r\n a = '?autoplay=' + autoplay + '&api=1';\r\n if (this.core.s.vimeoPlayerParams) {\r\n a = a + '&' + $.param(this.core.s.vimeoPlayerParams);\r\n }\r\n\r\n video = '';\r\n\r\n } else if (isVideo.dailymotion) {\r\n\r\n a = '?wmode=opaque&autoplay=' + autoplay + '&api=postMessage';\r\n if (this.core.s.dailymotionPlayerParams) {\r\n a = a + '&' + $.param(this.core.s.dailymotionPlayerParams);\r\n }\r\n\r\n video = '';\r\n\r\n } else if (isVideo.html5) {\r\n var fL = html.substring(0, 1);\r\n if (fL === '.' || fL === '#') {\r\n html = $(html).html();\r\n }\r\n\r\n video = html;\r\n }\r\n\r\n return video;\r\n };\r\n\r\n Video.prototype.destroy = function() {\r\n this.videoLoaded = false;\r\n };\r\n\r\n $.fn.lightGallery.modules.video = Video;\r\n\r\n})(jQuery, window, document);\r\n"]}